当前位置:首页 > 经典书库 > 方法大辞典

找最短路的狄杰科斯特解法

书籍:方法大辞典

出处:按学科分类—自然科学总论 山东人民出版社《方法大辞典》第204页(809字)

最短路问题是图论、网络理论中的一个重要问题。

它不仅可以直接应用于各种管道铺设、线路安排、厂区布局等实际问题,并且也是解决图、网络的其他理论问题的基础。

给定图G=(V,E),每条边有实数权a(e)(a(e)≥0)。

现在要求连接G中任意两点之间的所有通路中边的权数之和最小的一条通路。

最短路的狄杰科斯特解法的求解过程如下:首先从u0出发选择一个距u0最近的节点,为此检查所有与u0相邻的节点,并找出它与u0的距离,取其中最小者为,同时确定

根据d(u0,s0)=min{d(u0,u)+a(u,v)}u0∈s0所以。令满足此式的V=u1集合s从s0={u0}扩大到s1={u0,u1}。记p1为u0u1通路,显然这是一条u0的最短路。若集合已扩展到sk={u0,u1,…uk},其对应的最短路p1,p2,…,pk就已确定下来,则由前式可以计算,并同时可以选取节点,使

因为 d(u0,uk+1)=d(u0,uj)+a(uj,uk+1),当j=1,2,…k中某个j成立,

所以,将边ujuk+1连接到通路pj上,即得(u0,uk+1)的最短路,pj=(u0,…,uj)。

为了避免重复计算并保留每一步的计算信息,在计算过程中采用一定的标号程序,给每一节点V-开始就给个初始标记I(V)。

I(V)是d(u,v)的一个上界。开始计算时标号I(u0)=0,其他节点标记I(V)=∞。计算过程中,这些标记不断被修改,到第i步结束时

I(u)=d(u0,u),u∈si

以及

分享到: