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