我正在为Chennai建立一个巴士路线图。我使用Postgis。在我们的数据库中,我们有一个表,其中包含所有路径以及为它们提供的唯一ID。第二张表包括公交车站名称及其纬度和经度。第三个表根据它们的id连接第一个和第二个表。我们有路线的跟踪记录。
我想构建一个函数,用于找到两个没有共同路径的站点之间的最短路径。例如,存在两个没有任何共同路线的A和B站。假设还有3个其他站点 - C,D,E。我想知道我应该走哪条路线才能到达最短距离。如果我从A出发,我应该在C下车,从C乘坐公共汽车到B,或者在C下车乘坐另一辆公共汽车到D,然后从那里乘坐另一辆公共汽车到B,或者去E然后坐公共汽车。 / p>
基本上我想找到两条没有共同路线的最短路径。由于我的数据库庞大,在选择算法时需要考虑因素,因此不应该减慢过程。
有人可以建议一个不需要花费太多时间的合适算法吗?