所以我正在編寫Dijkstra算法的JavaScript實現。Dijkstra的算法實現
我讀過很多Wikipedia page,它幫助我將步驟轉化爲代碼。我也讀過this Stack Overflow question,這是我的問題的一部分。
從A,的唯一路徑是B,這給我們
O => AB = 12;
O => C = 7
C是現在最低距離,並且是新的當前節點
O => CD = 8
由於d是目的地和8 < 12,路由CD被選中。
您如何將此決定實現爲代碼?目前,我的腳本基於什麼節點來選擇哪個節點與當前節點相鄰,是否需要通過這種新的評估來運行每個決策?
順便說一下,here是我的(雜亂)代碼。
你的代碼看起來有點亂,因爲你沒有對'currentEdge'和'currentNeighbor'使用局部變量。此外,你應該先找出哪一個('c1'或'c2')是鄰居節點,然後在其上應用條件而不是重複if語句。沒有看得更遠... – Bergi