我很難理解爲什麼Dijkstra算法不適用於具有負邊的無環有向圖。據我所知,Dijkstra對圖形進行了廣度優先遍歷,在適當的時候放鬆。例如,考慮圖表:Dijkstra和負邊緣
S->A (3)
S->B (4)
B->A (-2)
其中S是源節點。這是我想象它的工作:與4
2)遞歸對A的距離,馬克B的距離
1)標誌由於A分沒有節點,什麼也不做。
3)在B上行走。由於B指向A,檢查B的距離+ B-> A是否小於A的當前距離。2 < 3,所以標記A的距離爲2
然而,顯然這不是它的工作原理,因爲我使用這本書給出了這張圖來說明底片爲什麼不起作用。我無法按照本書的解釋。 Dijkstra如何在這張圖表上工作,爲什麼他們不會使用我想象中的方法?