图的最短路径算法(二)-任意节点最短路径
2016-08-29 21:54
225 查看
多个节点之间的最短路径
#include<stdio.h> //依次判断节点i,j之间只允许经过节点1,2,3...n所获得的最短路径 //类似于动态规划的思想 int main() { int e[10][10],k,i,j,n,m,t1,t2,t3; int inf=99999999; //将该值作为正无穷 //读入n和m,n表示顶点个数,m表示边的条数 scanf("%d %d",&n,&m); //初始化 for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(i==j) e[i][j]=0; else e[i][j]=inf; //读入边 for(i=1;i<=m;i++) { scanf("%d %d %d",&t1,&t2,&t3); e[t1][t2]=t3; } //Folyd-Warshall算法核心语句 for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(e[i][j]>e[i][k]+e[k][j]) e[i][j]=e[i][k]+e[k][j]; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { printf("%10d",e[i][j]); } printf("\n"); } return 0; }
相关文章推荐
- LCA算法求任意两个节点之间的最小公共祖先(最短路径)
- 算法——所有节点对的最短路径:Floyd-Warshall算法、Johnson算法
- Floyd-Warshall算法---求解任意两节点的最短路径
- 任意两点间最短路径算法实现
- 算法导论 所有节点对的最短路径问题 矩阵法
- Floyd-Warshall 算法-- 最短路径(适合节点密集的图)
- Dijkstra [迪杰斯特拉]算法思路(求单点到其他每个点的各个最短路径)Floyd算法:任意两点间最短距离
- 关于经过若干指定节点最短路径问题的算法。
- 二叉树系列——二叉树中任意两个节点之间的最短路径
- 经典算法之Floyd算法(求图中任意一对顶点间的最短路径)
- 弗洛伊德算法得到图中任意两个顶点之间的最短路径
- PAT程序设计练习——甲级1003(任意两个城市最短距离、Floyd最短路径算法)
- Floyd-Warshall(弗洛伊德)算法求所有节点对的最短路径问题
- 关于经过若干指定节点最短路径问题的算法。
- 地图几个相邻节点求出 $start 到 $end 的最短路径【算法】
- 【算法导论】【Floyd-Warshall 算法】每对节点之间的最短路径
- Floyd_任意点之间的最短路径算法
- acm题目及我的程序(2)——Knight Moves (骑士跳跃) ——任意两点间的最短路径所有信息(算法2)
- Floyd-Warshall 算法-- 最短路径(适合节点密集的图)
- 任意两点间最短路径算法实现