2015-04-04 61 views
1

我一直有兴趣计算两个位置之间的路线,但从未需要现在就做。 Google地图如何找到两个目的地之间的最短路线?我知道如何计算两个地理位置之间的最短距离,但他们如何计算两个目的地之间的路线?如何计算最佳路线?

+0

Dijkstra是一种方法,如果你没有启发式的顶点。这里有一个关于如何使用dijkstra来计算从一个地铁站到另一个地铁站的最短路径的例子。 https://github.com/amirbawab/GraphADT#example-of-a-project-using-the-graphadt-montreal-metro – CMPS 2015-04-08 19:37:11

回答

1

这是通过减少问题做Shortest Path Problem

你基本上有一个graphG=(V,E),其中V是一些集路口,并E是边缘(道路)它们之间的连接。

然后,你可以调用它的最短路径算法。在这种情况下最简单的是Dijkstra's Algorithm,但是您也可以使用更多的巧妙算法,例如A* Search Algorithm,因为您有启发式功能“我到目的地有多近”。

+0

目前,Dijkstra的算法看起来不错。我会放弃这一点。感谢那。 – 2015-04-04 07:07:51