第14节最短路问题与货郎担问题.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
货郎担问题 货郎担问题 货郎担问题 用穷举法解货郎担问题算法的复杂度为(n?1)!, 当n较大时,计算量大的惊人! 货郎担问题 * 集合与图论 第14节 最短路问题与货郎担问题 主要内容: 图的矩阵表示 带权图 最短路问题 货郎担问题 图的矩阵表示 定义1 设无向图G=(V,E), V={v1, v2, …, vn}, |E|=m. n×n的矩阵A=(aij)称为G的相邻矩阵,其中 性质: (4) A的主对角线上的元素全为0. 定理1 设 A为无向图 G 的相邻矩阵,V={v1, v2, …, vn}为顶点集,则 A 的 l 次幂 Al(l ?1)中元素 为G中vi 到vj长度为 l 的通道的条数; 为vi到自身长度为 l 的闭通道数. 图的相邻矩阵 说明:定理1的结论得出的是G中vi 到vj长度为 l 的通 道的条数,而不是G中vi 到vj长度为 l 的路的条数. 例1: 如图所示,求 v1到v3长度为4的通路数, v1到v1长度为4的闭通路数. 解 相邻矩阵A如下: 例 题 例 题 从矩阵A4可以看出: v1到v3长度为4的通路数为4, 具体为: v1v2v4v2v3, v1v2v3v2v3, v1v4v1v2v3, v1v2v1v2v3. v1到v1长度为4的闭通路数为7, 具体为: v1v4v1v4v1, v1v4v2v4v1, v1v4v1v2v1, v1v2v1v2v1, v1v2v4v2v1, v1v2v3v2v1, v1v2v1v4v1. 图的关联矩阵 定义2 设无向图G=(V,E), V={v1, v2, …, vn}, E={e1, e2, …, em}. n×m的矩阵M=(mij)称为G的关联矩 阵,其中 性质: vi与ej关联 否则 例2:如图所示,求其关联矩阵. 解 关联矩阵M如下: 例 题 图的连通矩阵 定义3 设无向图G=(V,E), V={v1, v2, …, vn}. n×n的矩阵P=(pij)称为G的连通矩阵,其中 性质: (1) P的主对角线上的元素全为1; (2) 若G是连通图,则P中元素全为1. vi与vj之间有路 否则 例3: 如图所示,求其连通矩阵. 解 连通矩阵M如下: 例 题 有向图的矩阵表示 1、邻接矩阵 2、关联矩阵 3、可达矩阵 定义4 设G=(V, E)是一个图,f是V到集合S的一 个映射,则称三元组(V, E, f)是一个顶点带权图,仍记 为G=(V, E, f),?v?V,f(v)称为顶点v的权. 带权图 定义5 设G=(V, E)是一个图,g是边集E到集合 T的一个映射,则称三元组(V, E, g)为边带权图,也仍 记为G=(V, E, g),?x?E,g(x)称为边x的权. 带权图 最短路问题 设G=(V,E)是一个边带权图,权函数g是E到非负 实数集R的映射. 设H是G的一个子图,则H的权记为 g(H). g(H)是指H的各边的权之和,即 所谓最短路问题,就是求边带权无向图中两个 给定顶点间的路上各边权之和最小的路. 其中E(H)为H的边集. 最短路问题 最短路问题是一个优化问题,属于网络优化和组 合优化的范畴。对这种优化问题的解答一般是一个算 法。最短路问题有很多算法,其中最基本的一个是 Dijkstra算法。 Dijkstra算法 基本思想: 若路 P =u0u1…uk-1uk 是从 u0 到 uk 的最短路,则P? =u0u1…uk-1必是u0 到 uk-1的最短路。基于这一原理,算法由近及远地逐次求出 u0 到其它各点的最短路. Dijkstra算法 1. 初始化:置h(u0)=0;?v?V,若v?u0, 则 置h(v)=?; S={u0};i=0; 2. 若V \S??,则?v?V \S做 h(v)?min{h(v), h(ui)+g(uiv)}; 4. S?S∪{ui+1},i?i+1; 5. 转到步骤2 若V \S=?,停止 3. 实 例 求v1到其它各点的最短路径长. ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 0 8/v6 8 8 6 6 8 3 1 3 0 8 8/v6 7 8 6/v4 8 6 8 6 6/v3 8 5 ∞ 6 6 9 3/v3 4 ∞ ∞ 6 9 3 3/v3 3 ∞ ∞ 6 ∞ 3 1/v1 3 2 ∞ ∞ ∞ ∞ 5 1 4 0 1 v8 v7 v6 v5 v4 v3 v2 v1 实

文档评论(0)

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

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

1亿VIP精品文档

相关文档