最短路的解题方法差别

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

posted @ 2017-05-19 11:53  brucemengbm  阅读(129)  评论(0编辑  收藏  举报