最短路的几点注意:
1.判重
2.负权回路
3.INF大小
几种最短路算法:
1.Dijkstra算法
复杂度O(V*V+E) 优先队列优化可到O(V*lgV+E)
用于求单源无负权的最短路
2.Floyd算法
复杂度O(V*V*V)
用于求多源最短路径、有向图、带负权,以及传递闭包。
3.Bellman-Ford算法
复杂度O(V*E)
用于求带负权的单源最短路,可判断有无负权回路(若有则无最短路)
4.SPFA算法
复杂度O(k*E) (k<<V)
Bellman-Ford的优化,求单源最短路的万金油算法,但是在处理稠密无负权图时不如Dijkstra。