图-公交查询问题乱弹(三)

来源:互联网 发布:苏格兰炸蛋淘宝 编辑:程序博客网 时间:2024/04/30 01:02

公交线路基本都是双向的,在我们以前的那个图中两个站点之间应该是这么画的,如下:

,双向的有向图,就可以用无向图代替,因为无向图节点之间是可以双向的到达的,所以在前面的我们介绍的可以用链接形式来表示图的方法,在每个站点中不经要保存从左往右的顺序的下个节点,还应该记住它到上个的节点的线路和节点。

如果我们将每条线路都拉成直线,每条线的第N个的站点排成第N列。如下所示,只是举个例子与以前的图没关系


竖着的1,2,3,4是线路,横着的是站点顺序号。

我们使用一个符号来表示,比如A站点可以用{1,1},E站点{1,2;2,2}(;是用来分行的),这样以此类推。

现在我们在B点{2,1},我们要去I站点,这边只能上2号线,经过一会儿到达一个站点,到达了{2,2}(就是后一位,相当 于列+1),但是{2,2}是{1,2;2,2}的,在此你可以查看I站点所在路线和1,2的线路相关度,其实你就可以直接换乘1路车了。


还有就是查询的结果问题,是最小换乘次数还是时间最短,这个查询结果因素会改变查询的结果。


下次继续乱弹


原创粉丝点击