假設我有一組斷開的公路路線,如this example。每條路線有Start
和Finish
個點,這可能是相同的(如果路線是圓形的)。路線可以是「打開」(不同的開始/結束)或「關閉」(相同的開始/結束)。對於封閉路線,可以將確切的進入/退出點定義爲開始/結束點。查找離開路線集的最小距離
還定義了「全局」START
和FINISH
點。
如何從「全局」START開始,通過從開始到完成(或從完成到開始)的每條路線,以及在「全局性」中完成旅程,查找訪問所有路線所需的最低「成本」(距離或持續時間) 「完成?
我對Dijkstra算法很熟悉,但我不確定它是否可以在這種情況下使用。
每兩點之間的距離和/或持續時間是已知的(可以計算)。我猜測集合中每條路線的距離/持續時間並不重要,因爲我們需要找出所有「互連」路線的最低「成本」,從一條路線的末端到下一條路線的開始需要走路。
每條路線的方向並不重要,可以從「開始」到「結束」,也可以從「完成」開始到「開始」。
不幸的是,這是[旅遊銷售人員問題](http://en.wikipedia.org/wiki/Travelling_salesman_problem),這是NP難。幸運的是,即使是一個貪婪的近似值也會給你帶來好的結果,如果你需要一個確切的解決方案,13!僅6,227,020,800。 – beaker