如何在公交换乘找出换乘路线
我是VC的新手,最近在用list建立抽象图,用Dijkstra算法实现公交换乘查询的时候,发现我能够做到把两点间的最短路径和所经过的各个站点找到,却苦于难以简单有效的把换乘的站点和换乘的线路找出来。
我在最初只是考虑点之间的关系,而没有重视点与路线的联系,即便找到所经各站点,还是不好找出换乘路线,请各位高手指点。
不知道是不是算法本身不太合适......
[解决办法]
你的路径权值不要只用远近来做,还要做道路状况,车辆多少,等,可能就好了
[解决办法]
UP
[解决办法]
每个公交站点给一个唯一的编号。然后每条公交线路有一个站点的集合(LIST或VECTOR)。两条公交线路换乘,就是在两个LIST或VECTOR中找相同的站点。
[解决办法]
公交换承按照换承数来分开做比较好,如:
不需要换的,这时候起始点和终点都在一个线路里
一次换的,起始点和终点在不同的线路的车里,同时这两个线路必须有一个共同的站,这个就是换承的点
二次换的,起始点和终点在不同车的路线里,同时这两个线路中的某两个点(分别在两个线路里),是包含于另外一个线路
三次......一般没有用,车费也花不来......