最短路的解题方法差别

bellman-ford 能够有负权。但不能有负权回路,


spfa是bellman-ford的队列优化,时间复杂度O(ke),当中k为全部顶点进队的平均次数。能够证明k一般小于等于2。


dijkstra不能够有负权。但效率比bellman-ford快,O(2^n),用二叉堆优化O((m+n)log n)。斐波纳契堆能略微提高一些性能,让算法执行时间达到O(m + n log n)。




floyed算每对顶点之间的最短路,前3种方法是计算单源的点。

原文地址:https://www.cnblogs.com/brucemengbm/p/6877629.html