#include<stdio.h>
#define MAX_VERTICES 7
#define IF 1000
void BellmanFord(int n,int v);
int parent[MAX_VERTICES];
int dist[MAX_VERTICES];
int length[MAX_VERTICES][MAX_VERTICES] = {
0 , 6 , 5 , 5 , IF , IF , IF ,
IF, 0 , IF, IF, -1 , IF , IF ,
IF, -2, 0 , IF, 1 , IF , IF ,
IF, IF, -2, 0 , IF , -1 , IF ,
IF, IF, IF, IF, 0 , IF , 3 ,
IF, IF, IF, IF, IF, 0 , 3 ,
IF, IF, IF, IF, IF, IF , 0 ,
};
int main(void)
{
int i;
for(i=0;i<MAX_VERTICES;i++)
{
parent[i]=-1;
}
BellmanFord(MAX_VERTICES,0);
return 0;
}
void BellmanFord(int n,int v)
{
int i=0,u,k;
printf("k\t0\t1\t2\t3\t4\t5\t6\n");
printf("------------------------------------------------------------\n1");
for(i=0;i<n;i++)
{
dist[i]=length[v][i];
printf("\t%d",dist[i]);
}
printf("\n");
for(k=2;k<=n-1;k++)
{
printf("%d",k);
printf("\t%d",dist[0]);
for(u=1;u<n;u++)
{
for(i=0;i<n;i++)
{
if(dist[u] > dist[i] + length[i][u])
dist[u] = dist[i] + length[i][u];
}
printf("\t%d",dist[u]);
}
printf("\n");
}
}
'IT' 카테고리의 다른 글
그래프 전은 자료구조 아니죠 ㅎㅎ (0) | 2014.05.14 |
---|---|
자료구조는 그래프 부터 (0) | 2014.05.14 |
그래프 관련인듯 (0) | 2014.05.14 |
제목은 나중에 붙이는 걸로 (0) | 2014.05.14 |
일단 저장 (0) | 2014.05.14 |