最短路径心得
Dijkstra Algorithm:解决无负权边的带权有向图/无向图的单源最短路。
Bellman-Ford Algorithm:解决含负权边的带权有向图的单源最短路。
不能处理带负权边的无向图。(因为可以来回走一条负权边)
图中不能包含权值总和为负值的回路。(负权值回路)
Dijkstra Algorithm |
Dijkstra算法在求解过程中,源点到集合P内各顶点的最短路径一旦求出,则之后不变了,修改的仅仅是源点到P外各顶点的最短路径长度. |
Bellman-Ford Algorithm |
Bellman-Ford算法在求解过程中,每次循环都要修改所有顶点的dist[ ],也就是说源点到各顶点最短路径长度一直要到算法结束才确定下来. |
SPFA Algorithm
优化过的Bellman-Ford Algorithm。
快速求解含负权边有向图的单源最短路。
可以用SPFA判断图有无负权环。
FloydWarshall算法
用于求每一顶点之间的最短路。
有向图,无向图,负权边皆不要求。
复杂度(n³)