본문 바로가기

IT

이 역시 그래프

#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