遍历寻找最短路径的多个位置的算法

时间:2017-03-01 21:37:33

标签: php algorithm graph-traversal

我正在为游客制作节目。他们将离开酒店前往3个不同的地方(B,C,D)。我需要找到遍历位置B,C和D的最短路径。终点并不重要,它可以是其中任何一个。

可以Dijkstra's Algorithm这样做吗?

我需要使用PHP实现该算法。

1 个答案:

答案 0 :(得分:0)

Dijkstra的算法可以解决这个问题。我不确定它是否是最佳的。但至少,它解决了你的问题。在最糟糕的情况下,您可以枚举您到达每个节点的所有订单(即BCDBDCCDBCBDDBC,{ {1}})。然后运行Dijkstra算法以获得最短路径。以订单DCB为例,运行Dijkstra's,从酒店到BCD,从BB最短,最后从CC,总结它们以获得此订单的最短路径。所有订单中最短的订单是您解决问题的最佳解决方案。