- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构多媒体课件
§9.5 最小生成树 主讲人:罗丽 讲授内容 1.理解生成树及最小生成树的概念。 2.掌握构造最小生成树的算法:Kruskal算法 3.学会最小生成树的应用 教学内容 1 教学重点 2 教学难点 3 Kruskal算法思想 实现Kruskal算法 教学设计 课程导入 1 知识讲授 2 问题解决 3 课后思考 6 课堂小结 5 4 课堂练习 返回 9.5 最小生成树 9.5.1 基本概念 9.5.2 构造最小生成树的算法 9.5.3 克鲁斯卡尔算法 生成树:若从图的某顶点出发,可以访问到图 中所有顶点,则访问时经过的边和图的所有 顶点所构成的子图,称作该图的生成树。 9.5.1 基本概念 即:图中所有顶点均由边连接在一起,但 不存在回路的子图。 说明 (1) 一个图可以有多棵不同的生成树 (2) 所有生成树具有的共同特点: 顶点个数与图的顶点个数相同 是图的极小连通子图 一个有n个顶点的连通图的生成树有n-1条边 在生成树中再加一条边必然形成回路 说 明 举例 v1 v2 v3 v4 v5 v6 v1 v2 v4 v5 v6 v3 v1 v2 v4 v5 v6 v3 v1 v2 v4 v5 v6 v3 生成树举例 最小生成树:如果无向连通图是一个带权图,则它的所有生成树中必有一棵边的权值总和为最小的生成树,称这棵生成树为最小生成树(最小代价生成树)。 9.5.1 基本概念 v1 v2 v3 v4 v5 v6 2 1 3 5 4 2 1 v1 v2 v4 v5 v6 v3 2 1 4 2 1 v1 v2 v4 v5 v6 v3 2 1 3 5 4 (1)克鲁斯卡尔(Kruskal)算法(掌握) 9.5.2 构造最小生成树的算法 Kruskal算法也称避圈法, 是由Kruskal于1956年提出的 (2)普里姆(Prim)算法(了解) Prim算法也称边割法,是Prim于1957年提出的 算法思想:设连通图N=(V,{E}),令最小生成树T 9.5.3 克鲁斯卡尔算法 (1)初始状态为只有n个顶点而无边的非连通图T=(V,{?})。 (2)每次从图中选取权值最小的边e,加入到T中,若增加此边会构成回路,则舍去此边,选取下一条代价最小的边。 (3)依此类推,直至达到n-1条边为止的连通图。 返回 3. 解决问题 演示 网络铺设图 返回 1 2 4 3 5 6 6 3 1 5 2 4 6 5 7 5 克鲁斯卡尔算法构造最小生成树 返回 1 2 4 3 5 6 6 3 1 5 2 4 6 5 7 5 图中由蓝色结点和红色直线组成的就是最小生成树 4、课堂练习 a 已知图如下,请画出用Kruscal算法从顶点a出发所构造的最小生成树。 b c d e f g 3 7 9 2 2 8 3 8 1 5 4 4 9 4、课堂练习 a 已知图如下,请画出用Kruscal算法从顶点a出发所构造的最小生成树。 b c d e f g 3 7 9 2 2 8 3 8 1 5 4 4 9 4、课堂练习 a 已知图如下,请画出用Kruscal算法从顶点a出发所构造的最小生成树。 b c d e f g 3 7 9 2 2 8 3 8 1 5 4 4 9 4、课堂练习 a 已知图如下,请画出用Kruscal算法从顶点a出发所构造的最小生成树。 b c d e f g 3 7 9 2 2 8 3 8 1 5 4 4 9 4、课堂练习 a 已知图如下,请画出用Kruscal算法从顶点a出发所构造的最小生成树。 b c d e f g 3 7 9 2 2 8 3 8 1 5 4 4 9 4、课堂练习 a 已知图如下,请画出用Kruscal算法从顶点a出发所构造的最小生成树。 b c d e f g 3 2 2 3 1 4 4 5.课程小结 (1)生成树、最小生成树概念 (2)Kruscal算法思想 (3)Prim算法-自学 返回 6. 课后思考 1.你能列举出最小生成树还有哪些实际的应用吗 2. 请试着用C语言实现Kruscal算法构造最小生成树的过程 下节课预习内容 第九章 图 § 9.6 最短路径 9.6.1.最短路径的基本概念 9.6.2.狄克斯特拉算法思想及其实现 * 1. 1 算法思想[ 3 ] 每次选取权值最小的边e, 加入T中, 如果此时构成回路, 那么它一定是这个回路中的最长 边, 删之. 直至达到n - 1 条边为止. 这时T中不含任何回路, 因此是树, 而且是最小生成树. 1. 1 算法思想[ 3 ] 每次选取权值最小的边e, 加入T中, 如果此时构成回路, 那么它一定是这个回路中的最长 边, 删之. 直至达到n - 1 条边
文档评论(0)