假设我有一组断开的公路路线,如this example。每条路线有Start
和Finish
个点,这可能是相同的(如果路线是圆形的)。路线可以是“打开”(不同的开始/结束)或“关闭”(相同的开始/结束)。对于封闭路线,可以将确切的进入/退出点定义为开始/结束点。查找离开路线集的最小距离
还定义了“全局”START
和FINISH
点。
如何从“全局”START开始,通过从开始到完成(或从完成到开始)的每条路线,以及在“全局性”中完成旅程,查找访问所有路线所需的最低“成本”(距离或持续时间) “完成?
我对Dijkstra算法很熟悉,但我不确定它是否可以在这种情况下使用。
每两点之间的距离和/或持续时间是已知的(可以计算)。我猜测集合中每条路线的距离/持续时间并不重要,因为我们需要找出所有“互连”路线的最低“成本”,从一条路线的末端到下一条路线的开始需要走路。
每条路线的方向并不重要,可以从“开始”到“结束”,也可以从“完成”开始到“开始”。
不幸的是,这是[旅游销售人员问题](http://en.wikipedia.org/wiki/Travelling_salesman_problem),这是NP难。幸运的是,即使是一个贪婪的近似值也会给你带来好的结果,如果你需要一个确切的解决方案,13!仅6,227,020,800。 – beaker