본문 바로가기

IT

벨맨포드

#include<stdio.h>

#define TRUE 1

#define FALSE 0


#define VERTICES 7

#define INF 999


int cost[VERTICES][VERTICES] ={


{0,6,5,5,INF,INF,INF},

{INF,0,INF,INF,-1,INF,INF},

{INF,-2,0,INF,1,INF,INF},

{INF,INF,-2,0,INF,-1,INF},

{INF,INF,INF,INF,0,INF,3},

{INF,INF,INF,INF,INF,0,3},

{INF,INF,INF,INF,INF,INF,0}


};


int dist[VERTICES];

int dist2[VERTICES];

int temp[VERTICES];


void BellmanFord(int n, int v)

{

int i,j,k;


for(i=0; i<n; i++)

dist[i] = cost[v][i];


for(k=2; k<n-1; k++){

for(i=0; i<n; i++){

for(j=0; j<n; j++){

if(dist[i]> dist[j] +cost[j][i])

dist[i]=dist[j] +cost[j][i];

}

printf("%-4d",dist[i]);

}

printf("\n");


}

// for(i=0; i<n; i++)

//printf("%-4d", dist[i]);

}


void main(){


BellmanFord(VERTICES, 0);

}

'IT' 카테고리의 다른 글

깊이우선탐색  (0) 2014.06.09
쇼티스트 패스  (0) 2014.06.09
퀵소트 시간 측정  (0) 2014.06.09
퀵소트  (0) 2014.06.09
그냥 인설션소트  (0) 2014.06.09