最短路径心得

Dijkstra Algorithm:解决无负权边带权有向图/无向图的单源最短路。

Bellman-Ford Algorithm:解决含负权边带权有向图的单源最短路。

不能处理带负权边的无向图。(因为可以来回走一条负权边)

图中不能包含权值总和为负值的回路。(负权值回路)

Dijkstra Algorithm

Dijkstra算法在求解过程中,源点到集合P内各顶点的最短路径一旦求出,则之后不变了,修改的仅仅是源点到P外各顶点的最短路径长度.

Bellman-Ford Algorithm

Bellman-Ford算法在求解过程中,每次循环都要修改所有顶点的dist[ ],也就是说源点到各顶点最短路径长度一直要到算法结束才确定下来.

SPFA Algorithm 

优化过的Bellman-Ford Algorithm。

快速求解含负权边有向图的单源最短路。

可以用SPFA判断图有无负权环。

FloydWarshall算法

用于求每一顶点之间的最短路。

有向图,无向图,负权边皆不要求。

复杂度(n³)

 

原文地址:https://www.cnblogs.com/Roni-i/p/7456444.html