我遇到了麻煩實現這個到我當前的路徑尋找算法。Dijkstra算法擴展了額外的限制變量
目前我有Dijkstra書面和作品像它應該,但我需要走得更遠,並添加一個限制(範圍)。我可以更好地解釋一個圖像:
比方說,我有範圍。我想從A
去E
。我目前的算法,它應該如此,所以它的結果是A->B-E
。
不過,我只需要與重量不超過所述範圍的路徑去 - ,這將意味着A->B->E
是不是選項更多,但A->C->D->B->E
(考慮對每一站的這個範圍/極限復位)
到目前爲止,我實現了一個名爲bool
其中Possible
將返回路徑的單一部件(例如A->B
)是有可能比較我的極限/範圍。
我的主要問題是我不知道在哪裏/如何開始。我唯一的想法是看看Possible
爲false
(A->B
,總路線爲A->B->E
),並且從A
到A->E
再次運行算法,沒有/排除B
stop/vertex。
這是一個很好的方法嗎?因爲我的大O符號會增加兩次(據我所知)。
我剛剛完成了普林斯頓大學的coursera講座,所以算法仍記在心:)強烈推薦(https://class.coursera.org/algs4partII-002/class):) –
我的天堂沒有聽說過edx,它看起來不錯,謝謝指出 –
+1忽略邊緣> 80 – Javier