遍历多个位置找到最短路线的算法
Algorithm to traverse several locations finding the shortest route
我正在为游客创建一个程序。他们将离开酒店,前往 3 个不同的地方(B、C、D)。我需要找到遍历B、C、D位置的最短路径。终点不重要,可以是其中一个。
Dijkstra's Algorithm可以做到吗?
我需要使用 PHP 来实现算法。
Dijkstra算法可以解决这个问题。我不确定它是否是最佳的。但至少,它解决了你的问题。在最坏的情况下,您可以枚举到达每个节点的所有订单(即 BCD
、BDC
、CDB
、CBD
、DBC
、DCB
).然后运行Dijkstra算法求最短路径。以BCD
的顺序为例,运行 Dijkstra's最短从酒店到B
,从B
到C
,最后从C
到D
,将它们相加得到这条订单的最短路径。所有订单中最短的一个是您问题的最佳解决方案。
我正在为游客创建一个程序。他们将离开酒店,前往 3 个不同的地方(B、C、D)。我需要找到遍历B、C、D位置的最短路径。终点不重要,可以是其中一个。
Dijkstra's Algorithm可以做到吗?
我需要使用 PHP 来实现算法。
Dijkstra算法可以解决这个问题。我不确定它是否是最佳的。但至少,它解决了你的问题。在最坏的情况下,您可以枚举到达每个节点的所有订单(即 BCD
、BDC
、CDB
、CBD
、DBC
、DCB
).然后运行Dijkstra算法求最短路径。以BCD
的顺序为例,运行 Dijkstra's最短从酒店到B
,从B
到C
,最后从C
到D
,将它们相加得到这条订单的最短路径。所有订单中最短的一个是您问题的最佳解决方案。