最短路径算法复杂度总结
来源:互联网 发布:歌颂 陈奕迅 知乎 编辑:程序博客网 时间:2024/06/05 02:15
Dijkstra:O(n2)适用于权值为非负的图的单源最短路径,用斐波那契堆的复杂度O(E+VlgV),
BellmanFord:适用于权值有负值的图的单源最短路径,并且能够检测负圈,复杂度O(VE)
SPFA:适用于权值有负值,且没有负圈的图的单源最短路径,论文中的复杂度O(kE),k为每个节点进入Queue的次数,且k一般<=2,但此处的复杂度证明是有问题的,其实SPFA的最坏情况应该是O(VE).
Floyd:每对节点之间的最短路径。Floyd-Warshall算法的时间复杂度为O(N3),空间复杂度为O(N2)。
先给出结论:
(1)当权值为非负时,用Dijkstra。
(2)当权值有负值,且没有负圈,则用SPFA,SPFA能检测负圈,但是不能输出负圈。
(3)当权值有负值,而且可能存在负圈,则用BellmanFord,能够检测并输出负圈。
(4)SPFA检测负环:当存在一个点入队大于等于V次,则有负环,后面有证明。
原文地址:http://blog.csdn.net/basycia/article/details/50766436
0 0
- 最短路径算法复杂度总结
- 最短路径算法复杂度总结
- 最短路径算法总结
- 最短路径的部分算法实现和复杂度
- 最短路径常用算法总结
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- vue2.0导航菜单切换
- Android中Spinner根据value来选择选中项
- dumpsys命令用法
- 用 TensorFlow 创建自己的 Speech Recognizer
- pomelo踩坑记
- 最短路径算法复杂度总结
- linux中readl()和writel()函数
- 翻译《有关编程、重构及其他的终极问题?》——24.override和final关键字应该成为你的新朋友
- PM专业术语详解
- sysfs vs configfs
- Android系统移植与调试之------->如何修改Android的默认语言、默认时区
- 11期5月期刊自荐
- 用 TensorFlow 让你的机器人唱首原创给你听
- 专访阿里 iDST 语音组总监鄢志杰:智能语音交互从技术到产品,有哪些坑和细节要注意?