dijkstra算法為什么不能有負邊?


因為Dijkstra算法在計算最短路徑時,不會因為負邊的出現而更新已經計算過(收錄過)的頂點的路徑長度,

這樣一來,在存在負邊的圖中,就可能有某些頂點最終計算出的路徑長度不是最短的長度。

假設前兩個數字表示頂點,第三個數字表示邊的權值或路徑長度,

考慮有三個頂點,三條邊:(1,2,1),(1,3,2),(2,3,-3),最終計算出的路徑長度是(1,2,1),(1,3,-2),但明顯存在(1,2,-1)這條更短的路徑。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM