图---Floyd
来源:互联网 发布:厦门小青柑普茶淘宝 编辑:程序博客网 时间:2024/06/15 03:56
前面介绍过Dijstra算法,该算法主要用于求单源最短路径。
对于求任意两点间的最短路径,这里介绍一种新的算法 Floyd。
算法比较简单:
Floydfor ( int k = 0; k < 节点个数; ++k ){for ( int i = 0; i < 节点个数; ++i ){for ( int j = 0; j < 节点个数; ++j ){if ( Dis[i][k] + Dis[k][j] < Dis[i][j] ){// 找到更短路径Dis[i][j] = Dis[i][k] + Dis[k][j];}}}}
大家注意循环的层次,最外层循环式k,不是i
如果k放在最内层就会使得Dis[i][j]的大小被过早的定下来了,后面遇到更小的将无法刷新。
0 0
- 图---Floyd
- 【图】多源最短路径floyd
- floyd
- Floyd
- Floyd
- floyd
- floyd
- floyd
- Floyd
- FLOYD
- Floyd
- Floyd
- BZOJ1143【floyd】【二分图匹配】
- 图——Floyd算法
- Floyd算法 有向图。
- bnu 12870(离散图的floyd)
- 无向图-最小环-Floyd
- 图论算法 最短路 Floyd
- MFC从资源文件获取png图片
- 递归:分治法与动态规划
- online_judge_1151
- 【杭电】[5499]SDOI
- Linux下tomcat的安装配置
- 图---Floyd
- 算法设计题2.34~2.36-线性表-第2章-《数据结构习题集》-严蔚敏吴伟民版
- 树及二叉树
- Arch安装常见的问题
- iOS开发实践之FMDB
- MySQL BlackHole 存储引擎使用
- Java内部类
- LeetCode 3 Longest Substring Without Repeating Characters
- CocoaPods 如何正确的上传到SVN?