下载此文档

图论课件--最小生成树.ppt


文档分类:IT计算机 | 页数:约35页 举报非法文档有奖
1/35
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/35 下载此文档
文档列表 文档介绍
图论及其应用1本次课主要内容最小生成树(一)、克鲁斯克尔算法(二)、管梅谷的破圈法(三)、Prim算法(四)、计算机中的树简介2最小连接问题:交通网络中,常常关注能把所有站点连接起来的生成树,使得该生成树各边权值之和为最小。例如:假设要在某地建造5个工厂,拟修筑道路连接这5处。经勘探,其道路可按下图的无向边铺设。现在每条边的长度已经测出并标记在图的对应边上,如果我们要求铺设的道路总长度最短,这样既能节省费用,又能缩短工期,如何铺设?v1v2v3v4v5122434553v1v2v3v4v51223不难发现:最小代价的连接方式为:最小连接问题的一般提法为:在连通边赋权图G中求一棵总权值最小的生成树。该生成树称为最小生成树或最小代价树。(一)、克鲁斯克尔算法4克鲁斯克尔(Kruskal):1928年生,一家3弟兄都是数学家,1954年在普林斯顿大学获博士学位,导师是ErdÖs,他大部分研究工作是数学和语言学,主要在贝尔实验室工作。1956年发表包含克鲁斯克尔算法论文,使他名声大振。1、算法思想从G中的最小边开始,进行避圈式扩张。2、算法(1)、选择边e1,使得其权值最小;(2)、若已经选定边e1,e2,…,ek,则从E-{e1,e2,…,ek}中选择边ek+1,使得:(a)、G[e1,e2,…,ek+1]为无圈图(b)、ek+1的权值w(ek+1)尽可能小。5(3)、当(2)不能进行时,停止。例1用克鲁斯克尔算法求下图的最小生成树。3v721546789101112v1v2v3v4v5v6v86解:过程如下:1v5v821v1v5v8321v1v4v5v83v7215v1v4v5v83v72156v1v4v5v8v373v72156v1v4v5v8v3v683v72156v1v4v5v8v3v68v292、算法证明定理1由克鲁斯克尔算法得到的任何生成树一定是最小生成树。证明:设G是一个n阶连通赋权图,用T*=G[{e1,e2,…,en-1}]表示由克鲁斯克尔算法得到的一棵生成树,我们证明:它是最小生成树。8设T是G的一棵最小生成树。若T*≠T由克鲁斯克尔算法容易知道:T∩T*≠Φ。于是令f(T)=k表示T*中的边ei不在T中的最小i值。即可令T=G[{e1,e2,…,ek-1,e'k,…,e'n}]考虑:T∪ek,则由树的性质,它必然为G中圈。作T1=T∪ek-e,容易知道:T1还为G的一棵生成树。设e是圈T∪ek中在T中,但不在T*中的边。由克鲁斯克尔算法知道:所以:这说明T1是最小树,但这与f(T)的选取假设矛盾!所以:T=T*.9例2在一个边赋权G中,下面算法是否可以产生有最小权值的生成路?为什么?算法:(1)选一条边e1,使得w(e1)尽可能小;(2)若边e1,e2,…,ei已经选定,则用下述方法从E\{e1,..,ei}中选取边ei+1:(a)G[{e1,e2,…,ei,ei+1}]为不相交路之并;(b)w(ei+1)是满足(a)的尽可能小的权。(3)当(2)不能继续执行时停止。解:该方法不能得到一条最小生成路。10

图论课件--最小生成树 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数35
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2072510724
  • 文件大小843 KB
  • 时间2020-09-04