遍历多个位置找到最短路线的算法

Algorithm to traverse several locations finding the shortest route

我正在为游客创建一个程序。他们将离开酒店,前往 3 个不同的地方(B、C、D)。我需要找到遍历B、C、D位置的最短路径。终点不重要,可以是其中一个。

Dijkstra's Algorithm可以做到吗?

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

Dijkstra算法可以解决这个问题。我不确定它是否是最佳的。但至少,它解决了你的问题。在最坏的情况下,您可以枚举到达每个节点的所有订单(即 BCDBDCCDBCBDDBCDCB).然后运行Dijkstra算法求最短路径。以BCD的顺序为例,运行 Dijkstra's最短从酒店到B,从BC,最后从CD,将它们相加得到这条订单的最短路径。所有订单中最短的一个是您问题的最佳解决方案。