Dijkstra不能得到含有負權邊圖的單源最短路徑


對於不含負權邊的圖求單源最短路徑,Dijkstra算法是最高效的。但是在含負權邊的圖中,Dijkstra很可能得不到正確的結果,因為Dijkstra每次選的是當前能連到的邊中權值最小的,在正權圖中這種貪心是對的,但是在負權圖中就不是這樣了。比如1——>2權值為5,1——>3權值為6,3——>2權值為-2,求1到2的最短路徑時,Dijkstra就會選擇權為5的1——>2,但實際上1——>3——>2才是最優的結果。

 

另外如果包含負環,則意味着最短路徑不存在。因為只要在負權回路上不斷兜圈子,所得的最短路長度可以任意小。

 


免責聲明!

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



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