图论最小生成树.pptVIP

  • 1
  • 0
  • 约4.67千字
  • 约 35页
  • 2025-09-02 发布于广东
  • 举报

图论课件最小生成树*第1页,共35页,星期日,2025年,2月5日本次课主要内容最小生成树(一)、克鲁斯克尔算法(二)、管梅谷的破圈法(三)、Prim算法(四)、计算机中的树简介*第2页,共35页,星期日,2025年,2月5日最小连接问题:交通网络中,常常关注能把所有站点连接起来的生成树,使得该生成树各边权值之和为最小。例如:假设要在某地建造5个工厂,拟修筑道路连接这5处。经勘探,其道路可按下图的无向边铺设。现在每条边的长度已经测出并标记在图的对应边上,如果我们要求铺设的道路总长度最短,这样既能节省费用,又能缩短工期,如何铺设?v1v2v3v4v512243455*第3页,共35页,星期日,2025年,2月5日v1v2v3v4v51223不难发现:最小代价的连接方式为:最小连接问题的一般提法为:在连通边赋权图G中求一棵总权值最小的生成树。该生成树称为最小生成树或最小代价树。(一)、克鲁斯克尔算法*第4页,共35页,星期日,2025年,2月5日克鲁斯克尔(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页,共35页,星期日,2025年,2月5日(3)、当(2)不能进行时,停止。例1用克鲁斯克尔算法求下图的最小生成树。3v721546789101112v1v2v3v4v5v6v8*第6页,共35页,星期日,2025年,2月5日解:过程如下:1v5v821v1v5v8321v1v4v5v83v7215v1v4v5v83v72156v1v4v5v8v3*第7页,共35页,星期日,2025年,2月5日3v72156v1v4v5v8v3v683v72156v1v4v5v8v3v68v292、算法证明定理1由克鲁斯克尔算法得到的任何生成树一定是最小生成树。证明:设G是一个n阶连通赋权图,用T*=G[{e1,e2,…,en-1}]表示由克鲁斯克尔算法得到的一棵生成树,我们证明:它是最小生成树。*第8页,共35页,星期日,2025年,2月5日设T是G的一棵最小生成树。若T*≠T由克鲁斯克尔算法容易知道:T∩T*≠Φ。于是令f(T)=k表示T*中的边ei不在T中的最小i值。即可令T=G[{e1,e2,…,ek-1,ek,…,en}]考虑:T∪ek,则由树的性质,它必然为G中圈。作T1=T∪ek-e,容易知道:T1还为G的一棵生成树。设e是圈T∪ek中在T中,但不在T*中的边。由克鲁斯克尔算法知道:所以:这说明T1是最小树,但这与f(T)的选取假设矛盾!所以:T=T*.*第9页,共35页,星期日,2025年,2月5日例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页,共35页,星期日,2025年,2月5日例如,在下图G中我们用算法求生成路:3122343667910用算法求出的生成路为:122693*第11页,共35页,星期日,2025年,2月5日直接在图中选出的一条生成路为:123366后者的权值小于前者。(二)、管梅谷的破圈法在克鲁斯克尔算法基础上,我国著名数学家管梅谷教授于1975年提出了最小生成树的破圈法。*第12页,共35页,星期日,2025年,2月

文档评论(0)

1亿VIP精品文档

相关文档