最短路
在一个图中有 n个点、m条边。边有权值,权值可正可负。边可能是有向的,也可能是无向的。给定两个点,起点是s,终点是t,在所有能连接s和t的路径中寻找边的权值之“和” 最小的路径,这就是最短路径问题
最短路有两种:
- 单源最短路:从单个节点出发,到所有节点的最短路
- 多源最短路:整个图中所有点到其他点的最短路
无权图
有权图
算法\对比 | 主要适用方向 | 时间复杂度 | 处理负权边 | 处理负权回路 |
---|---|---|---|---|
Floyd | 带权图的多源最短路径 | O(V3) | YES | NO |
Dijkstra | 带权图的单源最短路径 | O(E*logE) | NO | NO |
Bellman-Ford | 带权图的单源最短路径 | O(V*E) | YES | YES |
SPFA | 带权图的单源最短路径 | 最坏O(V*E) | YES | YES |