- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最小生成树最短路径问题.ppt
图 —— 最小生成树与最短路径问题 2009/05/14 基于邻接表的图操作运算 主要内容 生成树的概念(spanning tree) Prim算法 Kruskal算法 最短路径问题 Dijkstra算法 Floyd算法 无向图中无环的充要条件 检查每一个连通分枝 对于所有连通分枝: 顶点数 – 边的数目 = 1 可以采用周游算法。 算法复杂度:n 最小生成树 Minimum-cost Spanning Tree 连通无向带权图 —— 网络。 网络(带权图)的生成树中生成树各边的权值加起来称为生成树的权,把权值最小的生成树称为最小生成树。 (简称为MST)。 MST性质 G=(V,E)是一个网络,U是顶点集合V的一个真子集。 如果u∈U,v∈V-U,且边(u,v)是图G中所有一个端点在U里,另一端点在V-U里的边中权值最小的边, 则一定存在G的一棵最小生成树包括此边(u,v)。 MST必包含连通图中任意两个顶点划分之间的最小权的边。 (任意割集中的最小边) MST性质证明(反证法) 边(u,v)是图G中所有一个端点在U里,另一端点在V-U里的边中权值最小的边。 假设:存在G的一棵最小生成树不包括此边。 贪心算法一般思路 初态(起点) 候选对象集合 贪心选择算法(按当前状态) 可行评估函数 目标函数 Kruskal算法 例题∶用Kruskal方法构造图的最小生成树 ①初始时,T为只有6个顶点的非连通图。 ②边(v1, v2)的两个顶点v1,v2分别属于两个连通分量,将边(v1, v2)加入T。 ③同理,将边(v1, v3)加入T。 ④由于边(v2, v3)的两个顶点v2,v3属于同一个连通分量,因此,舍去这条边。 ⑤同理将边(v0, v1)、(v1, v5)加入T,边(v3, v5)舍去,边(v3, v4)加入T。 这时T中含的边数为5条,成为一个连通分量,T就是G的一棵最小生成树。 算法框架 最短路径问题 如果图中从一个顶点可以到达另一个顶点,则称这两个顶点间存在一条路径。从一个顶点到另一个顶点间可能存在多条路径,而每条路径上经过的边数并不一定相同。 如果图是一个带权图,则路径长度为路径上各边的权值的总和,两个顶点间路径长度最短的那条路径称为两个顶点间的最短路径,其路径长度称为最短路径长度。 Dijkstra算法 ——Single Source/All Destinations Dijkstra算法求解从顶点v0出发到其它各顶点最短路径。 基本思想 设置一个集合U,存放已求出最短路径的顶点,V-U是尚未确定最短路径的顶点集合。 每个顶点对应一个距离值,集合U中顶点的距离值是从顶点v0到该顶点的最短路径长度; 集合V-U中顶点的距离值是从顶点v0到该顶点的只包括集合U中顶点为中间顶点的最短路径长度。 初始状态: 处理框架: (1)在集合V-U中选择距离值最小的顶点vmin加入集合U; (2)对集合V-U中各顶点的距离值进行修正:如果加入顶点vmin为中间顶点后,使v0到vi的距离值比原来的距离值更小,则修改vi的距离值。 (3)重复(1)(2)操作,直到从v0出发可以到达的所有顶点都在集合U中为止。 存储结构 修正距离值的方法 如果加入顶点vmin为中间顶点后 dist[i].length dist[min].length + G.arcs[min][i] 则将顶点vi的距离值改为 dist[min].length + G.arcs[min][i] 并修改路径上vi的前趋顶点: dist[i].prevex = min 例子: 初始状态V = {v0} 结果dist[n]为{{0, 0}, {50, 0}, {10, 0}, {MAX, -1}, {45, 0}, {MAX, -1} } ②.在集合V-U中找出距离值最小的顶点v2,将顶点v2加入集合U中。 原:dist[n]为{{0, 0}, {50, 0}, {10, 0}, {MAX, -1}, {45, 0}, {MAX, -1} } 后:dist[n]为{{0, 0}, {50, 0}, {10, 0}, {25, 2}, {45, 0}, {MAX, -1} } (接)同理在集合V-U中找出当前距离值最小的顶点v3,并调整集合V-U中顶点的距离值。 最后: 在集合V-U中找出当前距离值最小的顶点v4。并调整集合V-U中顶点的距离值。 结果dist[n]为{{0, 0}, {45, 3}, {10, 0}, {25, 2}, {45, 0}, {MAX, -1} } 没有可以再加入集合U的顶
您可能关注的文档
- 日本外交政策政治大国战略.ppt
- 日本大学生就业政策环境优化其启示.doc
- 日本女性高等教育发展及借鉴.doc
- 日本普通高中新课程改革研究分析.doc
- 日本民族主义政治家言行哲学透视.doc
- 日本泡沫经济——失去十年.ppt
- 日本游客来华旅游文化动机及开拓其市场对策.doc
- 日本生活作文教学思想.doc
- 日本电子商务发展其政策措施.doc
- 日本经济发展过程--发展经济学.ppt
- 江苏省无锡市江阴市长泾片2019-2020学年八年级下学期期中物理试题【含答案,解析】.pdf
- 4.2 调控测试 说课稿 2023—2024学年人教中图版(2019)高中信息技术选择性必修 6 开源硬件项目设计.docx
- 高中数学课题研究题目范文.docx
- 高中数学课题研究报告范文.docx
- 江苏省无锡市江阴市华士片2020-2021学年八年级下学期期中考试物理试题【含答案,解析】.pdf
- 高中数学课题研究报告_20250120_142105.docx
- 高中物理量子力学的引入教案.docx
- 高中数学课题研究开题报告.docx
- 高中数学课题研究报告(完整范文)x.docx
- 电解金属锰技改项目环境影响评价报告书.docx
文档评论(0)