最短路徑演算法對比分析

2021-07-22 05:29:12 字數 538 閱讀 4502

最短路徑演算法對比分析

floyd

dijkstra

bellman-ford

佇列優化的bellman-ford

空間複雜度

o(n^3)

o(m)

o(m)

o(m)

時間複雜度

o(n^3)

o((m+n)logn)

o(nm)

o(nm)

適用情況

稠密圖和頂點關係密切

稠密圖和頂點關係密切

稀疏圖和邊關係密切

稀疏圖和邊關係密切

負權可以解決

不能解決

可以解決

不能解決

所求求兩點間最短路

求某點到所有點最短路

求某點到所有點最短路

求某點到所有點最短路

思路三層迴圈列舉橋梁判斷是否通過橋梁會有更短路

從所求點更新周圍所有點然後每次走到最近的點

列舉所有邊判斷是否通過邊能更新dis

與未優化差不多,只是用了佇列

最短路徑演算法對比分析

我們選擇最短路徑演算法時,要根據實際需求和每一種演算法的特性,選擇合適的演算法。floyd演算法雖然總體時間複雜度高,但是可以處理帶有負權邊的圖 但不能含有負權迴路 並且均攤到每一點的對上,在所有的演算法中還是屬於較優的。另外floyd演算法較小的編碼複雜度也是它的一大優勢。所以,如果要求的是所有點...

最短路徑演算法對比分析

floyd演算法 雖然總體時間複雜度高,但是可以解決負權邊,並且均攤到每一點對上,在所有演算法中還是屬於較優的。另外,floyd演算法較小的編碼複雜度也是它的一大優勢。所以,如果要求的是所有點對間的最短路徑,或者如果資料範圍較小,則floyd演算法比較合適。dijkstra演算法最大的弊端是它無法適...

最短路徑演算法 最短路

在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 100,m 10000 n...