您好,
我正在开发公共交通指南软件。在欧洲,美国谷歌地图提供了这一点,但在土耳其却没有。我有数据库,包含所有车站的纬度和经度,以及其他公交线路,车站信息。在我的计划中,首先我将使用图论(站点是顶点;边缘权重是站点之间的距离)和连接站点在同一条总线上;然后找路线。之后,我将在Google Map上展示路线。我完成了第一步,连接站。然而,在那之后,我在计划中发现了一个错误,如图所示。 人想要靠近A到K,程序应该说
但是,站E和H之间没有连接。因此,图算法找不到从A到K的路径。我应该定义E和H之间的行走路径。但这只是城市的小型演示。超过6500站在城市。我怎么解决这个问题? 我有一个想法,即在1公里范围内增加站点之间的连接;但我认为这是低效的。 感谢。
答案 0 :(得分:0)
在E和H之间添加有向边,权重为' a'。选择' a'这样一种方式,你的网络中没有任何边缘权重具有相同的权重' a'。例如,您可以选择' a'因为我确信网络中没有任何边缘的权重为零,因为这意味着两个站点之间没有距离。接下来,以这样的方式对您的程序进行编码:每当选择的路线包含权重为' a'时,程序应该说," 从E站步行到站ħ"或任何边缘有重量的节点' a'连接。
否则,你可以有一个图形,这样每当你必须走路时,从一个节点到另一个节点有两条有向边。假设一个边缘加权0,另一个边缘加权两个站点之间的距离。确保您的程序编码时,如果在A站和B站之间遇到两条边,一个是权重0而另一个是说' x',那么程序会给出指令,& #34; 从A站步行到B,距离为' x'公里"