线路表:
code 线路编号
name 线路名称
buscode 车次地点表:
stationcode 站编号
 station 站名中间表:
code 线路编号
stationcode 站编号
 seqnumber 某站在线路中的顺序

解决方案 »

  1.   

    按luoluo_lm(沧泫)的表设计做些扩展基本可以实现你的公交换乘课题。
    线路表:
    每条线路对应一路车次。按序存放各站点。每条线路有两个方向。站点表:
    每个站点,有经过该站点的所有车次。算法:
    已知起点站A,终点站B。假设最大换乘次数3,初始值为0。
    1、根据起点站获得经过该站点的车次。
    2、按序分析每路车次。
    3、取得某个车次获得该站点的后续站点。
    4、如果发现后续站点是B,就找到一条路径。记录该路径。并退出在本线路上的搜索。如果后续站点不是B,就继续分析后续站点的后续站点。直到该线路的终点站。
    5、如果该线路的后续站点不存在B,则获得该线路的经过本站点的后续站点,重复过程1~4,换乘次数加1,如果换乘次数为4则退出该线路的搜索。
    6、取得第二个车次,分析同上。
    7、分析完所有路线,如果不存在,就提醒用户增加换乘次数,或者打的。如果存在按换乘次数从小到大排列换乘路线。你也可以加上每段路的长度,或者车次的价格,作为权值,搜索最经济的换乘或最断时间换乘等。