- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* (第十五讲) 绍兴文理学院 计算机系计算机应用教研室 AAA BBBB 连通网络的最小代价问题 AAA BBBB 第6章 图(3) 一、教学目的:明确最小生成树的概念,掌握求最小生成树的prim和kruskal方法及prim求解算法;算法设计训练。 二、教学重点:最小生成树的概念,求最小生成树的prim和kruskal方法及prim求解算法;算法设计训练。 三、教学难点:求最小生成树的prim算法;算法设计训练。 四、教学过程: AAA BBBB 设G=(V,E)是一个连通网络,U是顶点集V的一个非空子集。若(u,v)是一条具有最小权值(代价)的边,其中u∈U,v∈V-U,则必存在一棵包含边(u,v)的最小生成树。(证明略) §6.4 图的应用 §6.4.1 最小生成树( minimum cost spanning tree ) 1、最小生成树的概念 ▲ 通信网问题。图的顶点之间的边上的权值表示相应的代价,对于n个顶点的连通图可以建立许多不同的生成树。 ▲ 一棵生成树的代价就是树上各边的代价之和。 ▲ 各边代价之和最小的那棵生成树称为该连通网的最小代价生成树,简称为最小生成树。 2、求解最小生成树的基础 ▲ MST性质: u v U V—U TKS * * AAA BBBB ▲ 普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法是两个利用MST 性质构造最小生成树的算法。 3、普里姆算法 (1) 算法思想 从连通网络 N ={ V,E }中的某一顶点V(T)={u0 }出发,选择与它关联的具有最小权值的边(u0,v),将其 以后每一步从一个顶点在V(T)中,而另一个顶点不在V(T)中的各条边中选择权值最小的边(u,v),把它的顶点v加入到集合V(T)中,将其边(u,v)加入到生成树的边集合E(T)中。 如此继续下去,直到网络中的所有顶点都加入到生成树顶点集合V(T)中为止(直到V(T)满n个顶点为止)。 顶点v加入到生成树的顶点集合V(T)中, V(T) TKS * * AAA BBBB (2) 算法步骤(构造过程) 假设N=(V,E)是连通网,TE是N上最小生成树中边的集合。 ① U={u0}(u0∈V),TE={}。 ② 在所有u∈U,v∈V-U的边(u,v)∈E中找一条权值最小的边(u0,v0)并入集合TE,同时v0并入U。 ③ 重复②,直至U=V为止。 此时TE中必有n-l条边,则T=(V,TE)为N的最小生成树。 示例1: v1 v2 v3 v4 v5 v6 3 5 5 2 4 6 1 5 6 6 v5 v1 v2 v3 v4 v6 v1 v2 v3 v4 v5 v6 10 5 6 6 6 10 7 12 10 15 v5 v1 v2 v3 v4 v6 示例2: TKS * * AAA BBBB (3) 普里姆算法的实现 ① 邻接矩阵结构 typedef struct { char vexs[mvnum]; int arcs[mvnum][mvnum]; int vexnum,arcnum; }amgraph; ② 记录前驱顶点和V(T)中到V-V(T)权值最小的边的存储空间 struct { int adjvex; int lowcost; } closedge[nvnum]; ③ 算法实现 Ⅰ 初始化:首先将初始顶点甜加入U中,对其余的每一个顶点vi,将closedge[i]均初始化为到u的边信息。 Ⅱ 循环n-l次,做加下处理: a、从各组最小边closedge[v]中选出最小的最小边closedge[k],输出此边(v,k∈V-U); b、将k加入U中; c、更新剩余的每组最小边信息closedge[v],(v∈V-U)。 TKS * * AAA BBBB v1 v2 v3 v4 v5 v6 10 5 6 6 6 10 7 12 10 15 lowcost adjvex lowcost adjvex lowcost adjvex lowcost adjvex lowcost adjvex lowcost adjvex k V-T(V) T(V) V6 V5 V4 V3 V2 V closedge v5 v1 1 { V2V3V4V5V6 } {V1} 12 15 10 V1 V1 V1 2 { V3V4V5V6 } {V1V2} V2 V1 V2 V2 v2 7 15 6 5 0 3 v
您可能关注的文档
最近下载
- 幼儿园多功能厅和安全设施采购 投标方案(技术方案).doc
- 2025广东江门市江海区建设工程质量检测站合同制工作人员招聘5人笔试备考题库及答案解析.docx VIP
- 第5课用发展的观点看问题教学设计-2023-2024学年中职高教版(2023)哲学与人生.docx VIP
- ASME B1.15-1995 统一英寸螺纹(UNJ螺纹形式).pdf VIP
- 个人二手车买卖合同协议书(标准版).doc VIP
- 普兰店市城市主干路施工组织设计(投标)_secret.doc
- 2024年福建省福州市鼓楼区华大街道招聘社区工作者真题及参考答案详解一套.docx VIP
- 2024年福建省福州市鼓楼区华大街道招聘社区工作者真题及参考答案详解.docx VIP
- 2025年新北师大版数学二年级上册全册教案.pdf
- 第5课 用发展的观点看问题 教学设计-2024-2025学年中职思想政治高教版(2023)哲学与人生.docx VIP
文档评论(0)