簡體   English   中英

在直接圖中找到第二條最短路徑

[英]Find SECOND shortest path in directred graph

我需要一種在有向圖中找到第二條最短路徑的方法,在第二條最短路徑的頂部不能完全包括最短路徑。 我知道dijkstra algoritm,但我無法弄清楚如何更改該算法以在合理的時間內給我第二條最短路徑的簡單方法。 算法,sudo-code或c ++示例,三者中的一個將不勝感激。

不確定以下是否正確並且有效,但它只是一個想法....

第二最短路徑具有至少一個與最短路徑不同的邊緣。 如果沒有兩次訪問節點,這也意味着在最短路徑中至少有一條邊沒有被第二條最短路徑使用。

如果這是正確的,您可以先搜索最短路徑。 然后,對於最短路徑中的每條邊:將其權重設置為無窮大(即將其從圖中排除),並在結果圖中搜索最短路徑。 這些中的最短路徑應該是原始圖中的第二個最短路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM