GPS导航(8):最短路径算法

计算道路最短路径的经典方法是 Dijkstra 算法, 人们在长期的使用过程中感到其算法结构过于复杂且效率较低, 所以对 Dijkstra 算法进行改进产生了大量的 Dijkstra 变种算法, 从而使最短路径计算的效率有了很大的提高. 但无论是怎样的变种算法都需要建立全范围的道路拓扑网络, 并将这个范围内的拓扑关系映射到计算机内存中, 然后在内存中进行最短路径道路计算.

在现实情况下国家各经济部门经常需要进行大范围的交通网查询, 物流部门需要跨市跨省进行交通运输, 旅游部门需要到远离市区的旅游景点, 包括私人用户也经常需要驱车到另外的城市, 此时的道路计算所需要的拓扑网络就不能只限于一个城市或一块区域, 它涉及到的道路网络是大面积的.

以全国道路交通网为例, 如果要查询从武汉大学校门口到北京天安门的最短路径, 首先要建立武汉到北京区域范围内的道路拓扑网络, 此网络包括武汉和北京之间的所有城市道路网以及城市间的公路网, 此道路网络的节点数是百万级, 拓扑网络还包括节点和连接边的关系, 以及上述的连接边属性和转弯规制, 当然在实际应用中若涉及到其他城市数据量会线性增加, 若建立全国范围的道路拓扑网络, 节点数是千万级. 无论采用哪种Dijkstra 变种算法, 其拓扑网络的数据量都是海量级的, 而普通 PC 机的内存非常有限, 并且若在内存量更小的 PDA 这样的嵌入式操作系统上进行道路计算, 把海量道路拓扑网映射到内存中, 并进行计算是不大现实的. 对于这样的大范围交通网的计算问题, 文中给出以下解决方案.

 

地图数据=======================================

道路信息由点,线,弧组成

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值