最短路徑比較

2021-07-01 19:08:41 字數 600 閱讀 4071

floyd

dijkstra

bellman-ford

佇列優化的bell.

空間複雜度

o(n^2)

o(m)

o(m)

o(m)

時間複雜度

o(n^3)

o((m+n)logn)

o(nm)

最壞也是o(nm

適用情況

稠密圖和頂點關係密切

稠密圖和頂點關係密切

稀疏圖和邊關係密切

稀疏圖和邊關係密切

負權可以解決負權

不能解決負權

可以解決負權

可以解決負權

dijkstra演算法:

無法解決負權邊的圖,但有良好的可擴充套件性,時間複雜度低,堆優化後的dijkstra的時間複雜度可以達到o(mlogn)。

bellman-ford演算法:

可以解決負權邊的圖,可以判斷是否有負權迴路

floyd演算法:

時間複雜度高,不可以解決負權邊,並且均攤在每一點對上,在所有演算法中還是屬於較優的。較小的編碼複雜度也是優勢,如果要求是所有點之間的最短路徑,或者如果資料範圍較小,floyd演算法比較適合。

最短路徑演算法比較

用於解決最短路徑問題的演算法被稱做 最短路徑演算法 有時被簡稱作 路徑演算法 最常用的路徑演算法有 dijkstra演算法 a 演算法 spfa演算法 bellman ford演算法和floyd warshall演算法,本文主要介紹其中的三種。最短路徑問題是圖論研究中的乙個經典演算法問題,旨在尋找圖...

幾大最短路徑演算法比較

july 二零一一年二月十二日。幾個最短路徑演算法的比較 floyd 求多源 無負權邊的最短路。用矩陣記錄圖。時效性較差,時間複雜度o v 3 floyd warshall演算法 floyd warshall algorithm 是解決任意兩點間的最短路徑的一種演算法,可以正確處理有向圖或負權的最短...

幾大最短路徑演算法比較

用於解決最短路徑問題的演算法被稱做 最短路徑演算法 有時被簡稱作 路徑演算法 最常用的路徑演算法有 dijkstra演算法 a 演算法 spfa演算法 bellman ford演算法和floyd warshall演算法,本文主要介紹其中的三種。最短路徑問題是圖論研究中的乙個經典演算法問題,旨在尋找圖...