Floyd-Warshall 算法
2016-11-18 14:40
183 查看
//Floyd-Warshall 算法 -> 来自啊哈算法 #include <stdio.h> int main() { int e[10][10],n,m,t1,t2,t3; int inf = 99999999; scanf("%d %d",&n,&m);//定点数和边数 for(int i = 1;i <= n;i++) for(int j = 1; j <= n;j++) if(i == j)e[i][j] = 0; else e[i][j] = inf; //读入边 for(int i = 1;i <= m;i++) { scanf("%d %d %d",&t1,&t2,&t3); e[t1][t2] = t3; } //核心 //从1~k中转,if(i->j的距离 大于 i经过 k 再到 j 的距离)则更新i->j的距离 for(int k = 1;k <= n;k++) for(int i = 1;i <= n;i++) for(int j = 1;j <= n;j++) if(e[i][k] < inf && e[k][j] < inf && e[i][j] > e[i][k] + e[k][j]) e[i][j] = e[i][k] + e[k][j]; //输出 for(int i = 1;i <= n;i++) { for(int j = 1; j <= n;j++) { printf("%10d",e[i][j]); } printf("\n"); } return 0; }
相关文章推荐
- 带权最短路 Dijkstra, SPFA, Bellman-Ford, ASP, Floyd-Warshall 算法分析
- 最短路径算法——Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson
- 【算法导论】【Floyd-Warshall 算法】每对节点之间的最短路径
- 只有五行的算法——Floyd-Warshall
- 算法:Floyd-Warshall
- 最短路径(一)—Floyd-Warshall(只有五行的算法)
- floyd_warshall 算法.
- 算法熟记-Floyd-Warshall
- Floyd-Warshall(弗洛伊德)算法求所有节点对的最短路径问题
- 算法六:floyd-warshall和dijkstra
- ACM_Floyd-Warshall (Floyd) 算法
- 最短路径算法——Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson,无一幸免
- [图的最短路径算法]Dijkstra, Bellman-Ford, Floyd-Warshall
- 带权最短路 Dijkstra, SPFA, Bellman-Ford, ASP, Floyd-Warshall 算法分析
- 多路径路由算法选择(7)——最短路径算法Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson
- 6.1只有五行的算法——Floyd-Warshall
- Floyd-Warshall 全源最短路径算法
- Floyd-Warshall 算法 C++实现
- Floyd-Warshall 算法
- 导游 解题报告(Floyd-Warshall 算法)