Pku acm 1125 Stockbroker Grapevine 数据结构题目解题报告(八)---- 弗洛伊德(floyd)算法
2008-03-07 11:48
615 查看
有向图中每一对顶点间的最短路径问题,典型的弗洛伊德算法。
问题描述:已知一个含有n个顶点的各边权值均大于0的带权有向图,对每对顶点vi!=vj,要求求出每一对顶点之间的最短路径和最短路径长度。
解决方案:弗洛伊德(floyd)算法
对于这样一个例子: 4
2
2 5 2 6
A0[i][j]=cost[i][j]:
核心的c代码如下:
for(int k=1;k<=n;k++) //生成A0,A1,A2...的循环
for(int i=1;i<=n;i++) //行
for(int j=1;j<=n;j++) //列
//如果是i==k||j==k||i==j就保持不变,否则取最小值
array[i][j]=(i==k||j==k||i==j)?array[i][j]:
((array[i][j]<(array[i][k]+array[k][j])?array[i][j]:(array[i][k]+array[k][j])));
最后根据题意,取每行最大值中的最小值即可。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得
问题描述:已知一个含有n个顶点的各边权值均大于0的带权有向图,对每对顶点vi!=vj,要求求出每一对顶点之间的最短路径和最短路径长度。
解决方案:弗洛伊德(floyd)算法
3 |
2 |
1 |
2
2 5 2 6
A0[i][j]=cost[i][j]:
A0 | 1 | 2 | 3 | A1 | 1 | 2 | 3 | |
1 | 0 | 4 | 5 | 1 | 0 | 4 | 5 | |
2 | 2 | 0 | 6 | 2 | 2 | 0 | min(6,2+5) | |
3 | 2 | 2 | 0 | 3 | 2 | min(2,2+4) | 0 |
A2 | 1 | 2 | 3 | A3 | 1 | 2 | 3 | |
1 | 0 | 4 | min(5,4+6) | 1 | 0 | min(4,5+2) | 5 | |
2 | 2 | 0 | 6 | 2 | min(2,6+2) | 0 | 6 | |
3 | min(2,2+2) | 2 | 0 | 3 | 2 | 2 | 0 |
for(int k=1;k<=n;k++) //生成A0,A1,A2...的循环
for(int i=1;i<=n;i++) //行
for(int j=1;j<=n;j++) //列
//如果是i==k||j==k||i==j就保持不变,否则取最小值
array[i][j]=(i==k||j==k||i==j)?array[i][j]:
((array[i][j]<(array[i][k]+array[k][j])?array[i][j]:(array[i][k]+array[k][j])));
最后根据题意,取每行最大值中的最小值即可。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得
相关文章推荐
- Pku acm 1274 The Perfect Stall 数据结构题目解题报告(十三)---- 匈牙利算法求二分图的最大匹配
- Pku acm 3041 Asteroids 数据结构题目解题报告(十六)---- 匈牙利算法求二分图的最大匹配
- Pku acm 1125 Stockbroker Grapevine 动态规划题目解题报告(十九)
- Pku acm 3253 Fence Repair 数据结构题目解题报告(一) ----哈夫曼数
- Pku acm 1062 昂贵的聘礼 数据结构题目解题报告(七)—单源最短路径:Dijkstra算法
- POJ ACM 1125 Stockbroker Grapevine (最短路Floyd)
- Pku acm 2536 Gopher II 数据结构题目解题报告(十四)---- 匈牙利算法求二分图的最大匹配
- Pku acm 1466 Girls and Boys数据结构题目解题报告(十七)---- 匈牙利算法求二分图的最大匹配
- Pku acm 2771 Guardian of Decency 数据结构题目解题报告(十五)---- 匈牙利算法求二分图的最大匹配
- 开始做图论题目“Stockbroker Grapevine”PKU1125
- Pku acm 1469 COURSES 数据结构题目解题报告(十一)---- 匈牙利算法求二分图的最大匹配
- Pku acm 2239 Selecting Courses 数据结构题目解题报告(十二)---- 匈牙利算法求二分图的最大匹配
- pku1125 Stockbroker Grapevine
- Pku acm 1157 LITTLE SHOP OF FLOWERS 动态规划题目解题报告(十四)
- Pku acm 1014 Dividing 动态规划题目解题报告(十七)
- POJ Stockbroker Grapevine 1125 多源最短路(Floyd)
- pku_1125_Stockbroker Grapevine
- 数据结构看书笔记(十)—— 求最短路径问题之--迪杰斯特拉(Dijkstra)算法和弗洛伊德(Floyd)算法
- 【解题报告】openjudge DNA排序 数据结构与算法mooc 内排序
- Pku acm 1579 Function Run Fun 动态规划题目解题报告(二)