最短路算法
1.Floyd算法:O(|V|^3),多源最短路,适用于出现负边权的情况,但无法处理存在负权回路的情况。
Floyd算法
2.Dijkstra算法:O(|V|^2),单源最短路,不能处理存在负边权的情况。 边多 时适用
Dijkstra算法 & 堆优化
3.Bellman-Ford算法:O(|V||E|),单源最短路,适用于出现负边权的情况,但无法处理存在负权回路的情况。边少 时使用 可以检验负环
Bellman-Ford算法 & SPFA
4.堆优化Dijkstra算法:O((|V|+|E|)*log|V|),单源最短路,不能处理存在负边权的情况。
5.队列优化Bellman-Ford算法(SPFA):时间复杂度玄学,单源最短路,适用于出现负边权的情况,但无法处理存在负权回路的情况。
SPFA能判断带环负权图
权值非负:堆优化Dijkstra----->SPFA
有负边权:SPFA