几种最短路算法对比

330 字
2 分钟
几种最短路算法对比
WARNING
众所周知,关于SPFA,它死了。
几种最短路算法对比:
| 名称 | 时间复杂度 | 优点 | 缺点 | 使用情况 |
|---|---|---|---|---|
| Floyd-Warshall | 仅有的多源最短路径算法(即跑一遍 Floyd 能求出每个点到其它点的距离)、其核心代码就 5 行 | 时间复杂度过高 | 多源最短路、对时间复杂度没要求 | |
| Dijkstra(朴素) | 编码复杂度非常高、不能处理负权,即边的权值是负数的情况(跟它用的是贪心有关) | |||
| Dijkstra(优先队列优化) | 最快了 | 同朴素版 | 对时间复杂度有要求 | |
| Bellman-Ford | 跟 Dijkstra 时间复杂度互有胜负,有时还是 Dijkstra 赢了 | 稀疏图 | ||
| SPFA | 最坏也是 | 优化版 Bellman-Ford | 众所周知,它死了 | 稀疏图 |
| Jonson | 仅有的全源最短路算法,结合了 Dijksra 和 SPFA 的优势 | 不怎么常用…… | ||
| BFS | 思路简单 | 只能处理等权图或无权图 | 等权图/无权图 |
注: 为点的个数, 为边的个数。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
题解:P16007 [CCO 2016 Day 1] Field Trip 郊游
题解讲解了如何解决洛谷 P16007。
2
题解:P15290 [MCO 2023] Two Pointers (easy version)
题解讲解了如何解决洛谷 P15290。
3
Edge 浏览器游寄
游寄完整且流水账(bushi 地记录了积木鱼第一次参考雅思(全国乃至全球最后的几场纸笔)的经历,顺带回忆了一下自己学英语的过程,并给以后的自己和他人留个完整而详尽的记录。
4
题解:P5691 [NOI2001] 方程的解数
题解洛谷 P5691【NOI 2001】方程的解数一题的题解,使用折半搜索。
5
一个小众又有趣的协议——SATA
本文简单介绍了一个名为 SATA 的协议。
随机文章随机推荐













