我正在为游客制作节目。他们将离开酒店前往3个不同的地方(B,C,D)。我需要找到遍历位置B,C和D的最短路径。终点并不重要,它可以是其中任何一个。
可以Dijkstra's Algorithm这样做吗?
我需要使用PHP实现该算法。
答案 0 :(得分:0)
Dijkstra的算法可以解决这个问题。我不确定它是否是最佳的。但至少,它解决了你的问题。在最糟糕的情况下,您可以枚举您到达每个节点的所有订单(即BCD
,BDC
,CDB
,CBD
,DBC
,{ {1}})。然后运行Dijkstra算法以获得最短路径。以订单DCB
为例,运行Dijkstra's,从酒店到BCD
,从B
到B
最短,最后从C
到C
,总结它们以获得此订单的最短路径。所有订单中最短的订单是您解决问题的最佳解决方案。