最短路的解题方法区别

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种方法是计算单源的点。

你可能感兴趣的:(最短路的解题方法区别)