我在LightOJ中發現了一個問題,問題是要查找從節點1到節點n的圖中的第二條最短路徑(圖中有n個節點標記爲1到n)。現在,問題表明我可以回溯找到第二條最短路徑。一項所述的樣品的情況下是這樣的:在圖中找到第二條最短路徑(帶回溯)
- 邊緣從節點1到2,花費100
- 邊緣從節點2到3,花費300
- 邊緣從節點1到3,花費50
該測試的答案是150,對於此路徑1-> 2-> 1-> 3。 我知道Dijkstra算法。但我找不到如何做到這一點。我很抱歉,如果這是老話題,但我當我搜索它,我什麼都找不到。
更新:我讀了這個問題。 Which algorithm can I use to find the next to shortest path in a graph? 我的問題不同於它,因爲在這個問題中,我可以使用兩次邊。我從節點1到2一次,然後回到1.這使用邊1-> 2兩次。
[可以使用哪種算法來查找圖中最短路徑的下一個?](http://stackoverflow.com/questions/4971850/which-algorithm-can-i-use-to-find圖中的下一個到最短路徑) –
在遍歷圖時,您需要保留最便宜的兩條路徑的成本向量。 –
我看到了這個問題。但是我需要一種算法來回溯@ 500-InternalServerError –