8第八章 图论(第4节)课件.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8第八章 图论(第4节)课件

第四节 最短路(链)问题 ;v4; 2. 路权 在赋权有向图 D 中,给定两个顶点 vs和 vn,设P是 D 中从 vs 到 vn 的一条路,定义路 P 的权是 P 中所有弧的权之和,记为 w(P)。 ;v4; 3. 最短路问题 在赋权有向图D中,给定两个顶点 vs和 vn,求出所有从 vs 到 vn 的路中,权值最小的路 P0,即 ; 4. 最短路问题的意义 最短路问题是重要的最优化问题之一。它可以直接应用于解决生产实际中的许多问题,如管道铺设问题、线路安排问题、厂区布局问题、设备更新问题等。 ; 5. 最短路问题的求解方法 如果最短路能够整齐地划分为若干阶段:用动态规划方法; 如果最短路不能整齐地划分为若干阶段:用图论方法。 下面介绍二种图论方法,求解最短路问题。 注意:本节主要以有向图为例,其算法对于无向图仍然适用。 ;二、最短路问题的图论算法 ;(2)基本原理 若序列 {vs,…,vn-1,vn} 是从 vs 到 vn 的最短路,则序列 {vs,…,vn-1} 必是从 vs 到 vn-1 的最短路。 (3)算法步骤 Dijkstra算法的步骤采用了为各顶点标号的方式。在标号过程中,使用了两种标号: ;T 标号:试探性标号(tentative label)。给一个顶点 vi 以 T 标号时,表示从 vs 到 vi 点的估计最短路权,是一种临时标号,vi 的 T 标号随时等待着变为 P 标号。;P 标号:永久性标号(permanent label)。给一个顶点 vi 以 P 标号时,表示从 vs 到 vi 点的最短路权,vi 的标号不再改变。 ;算法步骤: ① 给起点 vs 以 P 标号,且 P(vs)=0;其余各点均给 T 标号,且 T ( vi ) = +∞。 ② 若 vi 为刚得到 P 标号的点,寻找这样的顶点 vj :(vi , vj) 组成关联弧,且 vj 标号为 T 标号;对 vj 的T 标号进行如下更改: ;③ 比较所有具有 T 标号的顶点,把最小者改为 P 标号,即 ;例:求从 v1 到 v8 的最短路。 ;v4;(1)P(v1)=0,T ( vi ) =+∞(i=2,…,9) (2)存在弧 (v1,v2)、(v1,v3) 和 (v1,v4),且v2、v3、v4为 T 标号 T(v2) = min[ T(v2), P(v1)+w12 ] = min[+∞,0+6]=6 T(v3) = min[ T(v3), P(v1)+w13 ] = min[+∞,0+3]=3 T(v4) = min[ T(v4), P(v1)+w14 ] = min[+∞,0+1]=1 ;(3)所有 T 标号中,T(v4) 最小,故P(v4)=1,并记录路径 (v1, v4) (4)存在弧 (v4, v6) ,且 v6 为 T 标号 T(v6)=min[ T(v6), P(v4)+w46 ]=min[+∞, 1+10]=11 (5)所有 T 标号中,T(v3) 最小,故P(v3)=3,并记录路径 (v1, v3) (6)存在弧 (v3, v2),且 v2 为 T 标号 T(v2)=min[T(v2), P(v3)+w32]=min[6, 3+2]=5 (7)所有 T 标号中,T(v5) 最小,故P(v2)=5,并记录路径 (v3,v2) ;(8)存在弧 (v2,v5),且 v5 为 T 标号 T(v5)=min[T(v5), P(v2)+w25]=min[+∞,5+1]=6 (9)所有 T 标号中,T(v5)最小,故P(v5)=6,并记录路径 (v2,v5) (10)存在弧(v5,v6)、(v5,v7)和(v5,v8),且v6、v7、v8为 T 标号 T(v6)=min[T(v6), P(v5)+w56]=min[11,6+4]=10 T(v7)=min[T(v7), P(v5)+w57]=min[+∞,6+3]=9 T(v8)=min[T(v8), P(v5)+w58]=min[+∞,6+6]=12 ;(11)所有 T 标号中,T(v7)最小,故P(v7)=9,并记录路径 (v5,v7) (12)存在弧 (v7,v8),且 v8 为 T 标号 T (v8)=min[T(v8), P(v7)+w78]=min[12,9+2]=11 (13)所有 T 标号中,T(v6)最小,故P(v6)=10,并记录路径 (v5,v6) (14)从 v6 出发,无法找到满足要求的顶点。 (15)所有 T 标号中,T(v8) 最小,故 P(v8)=11,并记录路径 (v7,v8) (16)全部顶点均为 P 标号,停止。 从 v1 到 v8 的最短路为 (v1,v3,v2,v5,v7,v8) ,距离

您可能关注的文档

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档