Floyd算法 最外层 迭代顺序 关系
来源:互联网 发布:日晷怎么看时间 知乎 编辑:程序博客网 时间:2024/06/07 01:54
Floyd 算法与最外层迭代顺序无关
这个算法可以计算出任意两点之间的最短路 (当然不包含负环 包含负环的图没有最短路!)
Floyd 算法在网上有很多解释 我就不赘述 在这里我想 证明一个我在理解过程中一的一个问题
当时看这个算法的时候 总觉得他的求最短路的过程中 和检查的点出现的顺序有关系 一觉醒来 终于发现了其中的原委!!! (睡觉是多么骚的一个操作啊)
假设存u->v之间的最短路为 u->i->j->v
我们先假设他的迭代顺序(最外层循环)为 i , j
那么当以i开始检查时 寻找以i为中间点的 图中任意两个点 我们发现 u->i->j这条路可以更新u->j的距离
当以j为中间点迭代时 我们已经有了u->j 当检查到u->v 时 发现恰好可以用j点作为中间点 更新了 u->j->v
(u->i->j->v)
假设迭代顺序为 j,i
当我们以j 检查时 我们发现了 i->j->v可以更新 下一次以i 检查时 我们检查u->v时 发现恰好可以 u->i->v (u->i->j->v)
现在想想 其实这个问题不难 但是为了帮助走入这个误区的朋友 还是果断下下这篇心得。
FINISHED!
阅读全文
0 0
- Floyd算法 最外层 迭代顺序 关系
- 为什么Floyd算法中k必须放在最外层
- 最短路-Floyd算法
- 最短路算法(Floyd)
- 最短路-Floyd算法
- 最短路 Floyd算法
- Floyd最短路算法
- 最短路-Floyd算法
- Floyd最短路算法
- 最短路:Floyd算法
- Floyd最短路算法
- 最短路-Floyd算法
- Floyd最短路算法
- Floyd最短路算法
- Floyd最小环算法
- 最短路Floyd算法
- 最短路 floyd算法
- 数据结构-图(四)-最短路径之Floyd(为什么k写在最外层)
- jemalloc横向分析(二) rtree分析
- java简单的图片压缩
- java中this 和super比较
- struts2学习的截图
- MongoDb 分页 SpringDataPageable MongoRepository
- Floyd算法 最外层 迭代顺序 关系
- 安装与学习laravel
- SqlDataReader实例 HasRows属性与 Read()方法
- Python之模块
- solr DataImportHandler 导入数据
- Circos 教程___001
- Zookeeper开源客户端框架Curator简介
- JS数组原理
- 去除按钮外边框