arcgis做dijkstra_GIS最短路径分析中的Dijkstra算法及其优化

本文介绍了Dijkstra算法在GIS最短路径分析中的应用,讲解了算法的基本思想、步骤,并讨论了算法的优化,包括存储结构的改进,以适应GIS中空间数据的特性。
摘要由CSDN通过智能技术生成

次序产生最短路径的思想,当前最短距离最小的V—S点集中点k的最短路径是:

源点,s1,s2,? ,sn,k。

距离为:源点到点sn最短距离+n,k&gt边长。

为求解方便,设置一个向量D[0..n一1],对于每个V—S点集中的点v∈V—S,用D[v]记录从源点s到达v且除v外中间不经过任何V—S点集中的点(若有中间点,则必为S点集中的点)的“最短”路径长度(简称估计距离)。

若k是V—S点集中估计距离最小的顶点,则k的估计距离就是最短距离,即若D[k]=min{D[i],i∈V— S},则D[k]=SD(k)。

初始时,每个V—S点集中的点v的D[c]值应为权w,v&gt,且从s到v的路径上没有中间点,因为该路径仅含一条边,v&gt。

在V—S点集中选择一个最短距离最小的点k来扩充S点集是Dijkstra算法的关键。

(4)k扩充点集S后,V—S点集估计距离的修改

将k扩充到S点集后,剩余V—S点集中的点的估计距离可能由于增加了新点k而减小,此时必须调整相应V—S点集中的点的估计距离。

对于任意的V—S点集中的点j,若k从V—S点集变成后S点集后使D[j]变小,则必定是由于存在一条从s到j且包含新点k的更短路径:P=,?,k,j&gt。且D[j]减小的新路径P只可能是由于路径,?,k&gt和边,j&gt组成。

所以,length(P)=D[

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值