在这篇question中,作者询问了什么算法计算地图上从A点到B点的方向,答案是
Dijkstra确实有效,只需进行一些修改
但我也对用于命名不同替代品的算法感到好奇。在这个example中,您可以看到三个备选方案中的每一个都有不同的描述性名称。我很好奇他们是怎么得到名字的?他们只选择覆盖距离最远的道路吗?
答案 0 :(得分:0)
我不是专家,并且没有像 Nick Johnson 这样的地图公司工作(来自你所链接的问题中接受的答案)。但我认为这里没有更复杂的东西。
除了Nick所描述的修改之外,还可以概括 Dijkstra 以获得K shortest path routing。
路由的命名可能只需在输入图的边缘添加名称即可。然后,您只需要查看最高层(如Nick所述)以获取主路径名称。
如果你想要三者之间的差异,你总是可以在路线之间做某种subtraction,以便找到与其他路线不同的子路线。