我正在试图找出获得/显示多个位置之间最短距离的最佳方法。为了最好地解释这一点,将其视为地图并使用以下内容。每个位置的所有距离和路径都已放入mysql数据库中。
地点(信函 - >它可以到达的地点。[]中的距离/时间
A -> B [5]
A -> C [4]
B -> Z [1]
C -> Z [50]
所以A可以去B并花5分钟。虽然从A到C需要4分钟。
现在我想弄清楚的是让我们说有人说他们目前在位置A并希望到达Z.我怎样才能让系统通过数据库并确定A - > B - > Z是与A - >相比的最短路径。 C - > ž。
我原本打算在每个系统上进行循环,但这个设置将包含数百个不同的位置和路径。所以我已经可以看到它创建了无限循环,第二个它沿着一条路径返回起始位置。
也许这是不可能的哈哈。
非常感谢任何帮助或建议!
先谢谢!
答案 0 :(得分:6)
Shortest Path Problem可以通过多种算法解决。 Dijkstra是经典之作: