标签:分享 传递 缩进 改进 友好 最小 没有 nbsp i++
2.弗洛伊德 任意两点间最短路
1 for(){// k的循环 2 for(){// i的循环 3 for(){// j的循环 4 if(dis[i][k]+dis[k][j]>=dis[i][j]){ 5 dis[i][j]=dis[i][k]+dis[k][j]; 6 } 7 } 8 } 9 }
初始化:
1 void work(int st){ 2 for(int i=1;i<=n;i++){ 3 dis[i]=maps[st][i]; 4 } 5 memset(vis,0,sizeof(vis)); 6 vis[st]=1; 7 dis[st]=0; 8 for(int i=1;i<=n;i++){ 9 int minn=99999999; 10 int k=0; 11 for(int j=1;j<=n;j++){ 12 if(dis[j]<=minn&&(!vis[j])){ 13 minn=dis[j]; 14 k=j; 15 } 16 } 17 if(k==0){ 18 return; 19 } 20 vis[k]=1; 21 for(int j=1;j<=n;j++){ 22 if((maps[k][j]+dis[k]<=dis[j])&&(!vis[j])){ 23 dis[j]=dis[k]+maps[st][j]; 24 } 25 } 26 } 27 }
4.Bellman_ford算法 判断是否有负环
标签:分享 传递 缩进 改进 友好 最小 没有 nbsp i++
原文地址:http://www.cnblogs.com/137shoebills/p/7783584.html