如果我想编一个城市交通路线导航,其中要考虑到乘客中途转站(不超过三次),是不是要涉及最短路径的问题?请指教!以下是要参考的一些资料
  
1路:石桥子→给水设备→师校→气象台→北湖→附属医院→铁路医院→铁中→双洞→火车站→
     工商银行→百货→农行大厦→南桥血栓医院→白楼→购物广场→啤酒厂→二医院→
     天兴花苑→热电厂→前五里→中五里  2路:155→油脂厂→水泵厂→新民→焊条厂→果品→桥西→桥东→良安→士英桥→蜂疗医院→
     叉车总厂→双洞→火车站 3路:炼油厂→红星楼→华光→士英桥→惠安街→附属二院→市医院→儿童公园→电影院→
     火车站→百货→市委→师范学院→体育场→纤维厂→天兴花苑→前五里→中五里→后五里 4路:火车站→百货→公安局→妇婴→北门口→桥东→桥西→空军医院→太和医院→煤矿通讯→ 
     →关屯→化工厂→开关厂→南山 5路:金屯→太和四中→413→六百户→司机学校→成人中专→药品厂→北京路→康宁街→
     陵园→铁路分局→火车站 6路:火车站→百货→烧锅大坑→太和电脑→财校→凌川酒厂→市政府→同达制药→中医院→
     →经贸实验区→大碑→阻燃电缆厂→果树研究所 7路:重型液压大修厂→胜利村→天元二号院→王屯→油库→天元集团→福利院→工学院→
     铁北建行→ 华光→205→铁中→双洞→火车站8路:安居小区→夏小区→春小区→纺织厂→前五里→中五里→天兴花苑→新光→矿山→
     师范南门→龙江街道→机械电子局→凌云支行→中央大街→金华支行→古塔公园→
     太原街大桥→法院→市政府→二中9路:安居小区→夏小区→春小区→纺织厂→前五里→中五里→8230→体育厂→食品厂→园林→
     锦铁分局→火车站→粮食大厦→法院→制药二厂→四中→华联电器→黑马大厦→七中→
     财经学校→中医院→家具城→高新区→光彩市场10路:北园北郊→北山分院→马家→大众维修→广播电视大楼→北山宾馆→铁北浴池→
      小商品批发→单洞北→192→锦铁分局→站东→站西→广厦→建行开发支行→花鸟鱼市→
      福德→华新111路:变压器厂→省石油学校→附属医院→北山宾馆→广播电视大楼→纪念馆→陵园→
       游乐园→铁路分局→铁医门诊→锦州中学→人大→凌河区政府→师院南门→矿山街→
       新光照明→天兴花苑→前五里→紫荆门诊→成大制袜→凌河交警→凌河新区 112路:石化游泳池→六厂文化宫→红星楼→华光→205→天成→铁北支行→铁北浴池→
       小商品批发→单洞北→192→铁路分局→实验中学→中山门诊→锦中支行→白楼→ 
       购物广场→世纪花园 113路:北湖→附属医院→石化学校→北京路→华光→红星楼→炼油厂→长虹公司→河夹信子→
       钟屯→水泥厂→铸石厂→罗台子115路:爱婴楼→桥西→桥东→北门口→永丰支行→公安局→海员钟表→市人大→中国银行→
       体育场→纤维厂→天兴花苑→前五里→纺织厂→春小区→夏小区→安居小区 116路:松坡园→成人中专→松坡园西区→中棵科环保集团→马家新区→铁路运校→电力学校→
       铁北中学→石桥子→沈联干休所→航校→北山宾馆→附属医院→铁路医院→西客站→
       公园→太和联社→金百合→农行大厦→建筑设计院→黑马大厦→人民保险公司→古塔公园环路:马家新区→锦铁运校→电力学校→医学院→邮电技校→东电三公司→有色金属总厂→
      党校→气象台→北湖→附属医院→铁中→双洞→制药二厂→四中→福德→聚豪酒店→
      市交通征稽处→机械电子局→中山门诊→实验中学→铁路分局→陵园→纪念馆→
      大众维修→马家→马家新区环2路:铁东鞋城→肇东街→锦铁街道→铁医门诊→宝石广场→公交总公司→电信宾馆→
       儿童公园→永安监狱→古塔分局→惠安小区→良安里兴居园→桥东→包装箱总厂→
       凌川大桥→古塔公园→金华支行→中北寻呼→中央大街→凌云支行→机械电子局→
       龙江街道→师院南门→矿山街→体育场→兴华里→肇东街→铁东鞋城环3路:进口汽车维修中心→汇丰卷帘门窗厂→市建委→电信枢纽大楼→白楼→环保局→
       万事城大酒店→凌河区政府→市人大→市委→市政协→铁路分局→视康眼睛中心→
       站前→沈锦泵业→叉车总厂→汉口街→叉车总厂→汉口街→亚东眼科医院→保安→
       商业银行城内支行→北街→古塔公园→凌川大桥→吉祥→市中级法院→市政府→
       劳动局→进口汽车维修中心201路:站前→百货→妇婴→北门口→桥东→太和区→焊条厂→一五五→杨兴屯→女儿河→
       立新→重型→铁合金→汤河子202路:站前→纪念馆→劳保→马家→北山分院→北郊→婵娟食品→农科研→许屯→
       锦州锅炉厂→大薛→葛王碑→富有屯→上齐台→下齐台→八角台→电厂住宅→电厂203路:站前→铁中→北湖→党校→白老户屯→砖厂→三屯→富有屯→百晌→温滴楼204路:站前→百货→前五里→凌河交警→百股→百官→商店→传染病医院→紫荆山206路:站前→双洞→铁中→二O五→华光→炼油厂→河夹信子→殡仪馆→龙湾水库→北菩陀山  
 
 

解决方案 »

  1.   

    上面的算法适用于数据库不能太大,又不要求速度的情况下。否则,使用穷举数据库更快。即:
    建立一个数据库表,字段为“起点”,“终点”,“换乘次数”、“换乘方案”,可选的字段有“路径长度”,“月票有效”等等。事先人工将各种换乘方案求出,每两站之间的每一方向上每一种换乘方案作为一条记录。用户查询时直接用 SQL 语句查找记录就是了:"SELECT * FROM 换乘表 WHERE 起始站 = '" & txtStart & "' AND 终到站 = '" & txtEnd & "'"这种方案使用于服务器空间较大,有较多用户访问的情况。