- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第讲最短路
赋权图的最短路 在实际应用中,一些图的边上标有数字, 用以表示两结点 间的距离、或路费等等. 然后求两点间的最短路径.这是 很有意义的问题. 一.赋权图(带权图) 1.定义:设G=V,E,W,是个图,如果G的每条边e上都标有 实数c(e) (c(e)∈W),称这个数为边e的权, 称此图为赋权图. 规定: u,v∈V, 边(u,v)的权记作 c(u,v) 1) c(u,u)=0 2) 如果结点u与v之间无边相连,则 c(u,v)=∞ 2.赋权图的路长:结点u与v之间的路长是指该路所包含的 各边权的总和. 例如右图中 v1 v2v3 v6 的路长为12. 3.赋权图的两点间距离: 结点u与v之间的 最短路的长 称为结点u与v之间的距离. 记作d(u,v). 如果G是有向带权图,称为结点u到v的距离,记作du, v 例如上图中 d(v2,v5)=2 4.赋权图中求一个结点到各点的最短路的算法: 此算法是于1959年由E.W.Dijkstra提出的. 基本思想:若使 (u0,u1,u2,…,un-1,un)最短, 就要使 (u0,u1,u2,…,un-1)最短, 即保证从u0到以后各点的路都是最 短的. ?v6 ?v5 ?v4 v1? ?v3 ?v2 3 6 5 1 1 2 3 3 6 最短路径算法 Dijkstra算法 使用范围: 寻求从一固定顶点到其余各点的最短路径; 有向图、无向图和混合图; 权非负. 算法思路: 采用标号作业法,每次迭代产生一个永久标号, 从而寻找以v0为起点的最短路,在这路上每个顶点与起点之间的路径皆为最短路径. 10 2 3 7 4 11 6 5 9 8 1 3 5 12 2 10 6 1 5 8 8 7 9 9 3 2 2 7 Dijstra最短路问题解法 在施行过程中,对于每个顶点Vj都要赋予一个标号,这分为固定标号(P标号)和临时标号(T标号)两类,含义如下: P标号:从起点到当前顶点的最短路长 。 T标号:从起点到当前顶点的最短路线长度的上界。 注:每个顶点的标号只能够是P和T二者之一。如果为T标号,则有待修改,而一旦成为P标号,则固定不变了。 具体标号过程 开始先给起点V1标上P标号0,给其余顶点标上T标号∞,然后检查与V1相邻的一切顶点Vj,选取到起点距离最小者,将其顶点T标号修改为P标号; 以后每次检查刚得到P标号的顶点,检查与它相邻的一切顶点,同样从中选取到起点距离最小者,将其顶点T标号修改为P标号; 由于每次都将一个T标号修改为P标号,总共n个顶点,故最多需要 n-1次就可以将终点改为P标号 特别提示 Dijstra最短路解法对于具有负权的网络有可能失效; 这种解法也可以采用图上标注的双标号方式,每一顶点的第一标号表明它的前继顶点,第二标号表明从起点到当前顶点的最短路线长度。标号过程正是将T标号顶点逐步修改为P标号顶点的过程。 最短路问题:双标号解法 标号[i,j]的含义: 第一标号i表示从始点到当前顶点的最短路线长度为i 。 第二标号j表示在从始点到当前顶点的最短路线上,当前顶点的前继顶点编号为j。 最短路问题例:有向图 v1 v3 v2 v5 v6 v4 250 400 150 100 [0] [250,1] 275 100 200 150 300 [350,2] [500,3] [600,4] [700,4] 求最短路例:图上标注法 v1 v3 v2 v5 v6 v4 5 2 2 7 (0) (v1,5) 1 3 6 7 (v1,2) (v2,7) (v6,7) (v3,6) v7 4 6 2 (v5,10) 最短路模型的应用 渡河问题: 摆渡人需要将狼,羊和卷心菜带过河去,由于船小,每次只能够载一样东西,狼和羊,羊和卷心菜不能够在无人监视的情况下放在一起,您将如何安排渡河? 平均分酒问题: 有一只8升酒壶装满酒,另外有二只空酒壶分别为5升和3 升,将酒平分的最简单方法是什么? 思考:应该如何建立最短路模型求解? 设备更新问题 某企业第一年年初花费11万元购买了一台新设备,问在5年内如何指定设备更新计划,使花费的总费用最少? 假定设备各年年初的购买价格以及使用不同年限的维修费如下: 第1年 第2年 第3年 第4年 第5年 购买费 11 11 12 12 13 设备年龄 0-1 1-2 2-3 3-4 4-5 维修费 5 6 8 11 18 求赋权图中任意两顶点间的最短路 算法的基本思想 (I)求距离矩阵的方法. (II)求路径矩阵的方法. (III)查找最短路路径的方法. Flo
文档评论(0)