2.最小生成树
Kruskal最小树prove(Prim类似):
正面归纳fail;反证,假设T为最小树,否则有更小树T,
条件:不成圈(端点不全\(\in\)已有顶点中的连通集)的边中权值min者
设k=\(min(k,e_k\notin T,e_k\in T*)\) (就能利用条件,没想到。。)
tree+e=O1,O1-1=Tree; 所以ek+T成圈,该圈中必有ek'\(\in T,\notin\)T,且ek'与e1~ek-1不成圈,否则T也成圈,
因为选ek不选e_k',所以ek<e_k',所以T+e_k-e_k' 更小,矛盾
知乎social man破圈法证明:
所谓破环法(破圈法)是指对 于一个每一条环上权值均不相同的无向连通图,若图中有环,则删掉环上权重最大的边。如果由此得到的新图仍然有环,再删掉环上权值最大的边,如此不断进行下去,直到图中无环为止,此时的图即为原图的最小生成树
引理1:每一条环上权值均不相同的无向连通图G的任意环上权值最大的边一定不在它的最小生成树中
证明:
假如某一环R上权值最大的边E在G的最小生成树T中,在T中去掉E得到两个连通分支T1,T2,E的两端分别位于T1,T2中,我们断言,环R上从E的一个端点出发不经过E抵达E的另一个端点的路径L上一定存在这样一条边E',E'的两个端点分别位于T1,T2中(树去边为2连通分支,加边恰好成一圈)
否则每条边全在T1或T2,与E两端还有一条路径矛盾
注意E'在R上,E为R上权值最大的边且R上边权值两两不等故E'权值小于E的权值,在T中掉E后加入E',E'将T1,T2两个连通分支连接起来得到生成树(虽然上面的证明拉胯,结论有意思)
T'= T-E+E' ,T'的权值小于T的权值,这和T为最小生成树矛盾,证毕
引理2:在破圈法中,如果删除无向连通图G中某一环R上某一边E前G是连通的,那么删除E后得到的新图G'仍然是连通的——(考虑连通对)
证明:超级简单 对G中任意两个不同的顶点h,k(hk),如果h到k的某一路径上不包含R上的边E,那么在R中删除E后h,k仍有路径相连,故是连通的。否则设R=v1v2---vn,E=(vi,vi+1)1<=I<=n-1或(vn,v1),删除前G中顶点h有到vi(1<=i<=n-1)或vn的路径p1,同时有vi+1(1<=i<=n-1)或v1到顶点k的路径p2,删除后有h到k的路径p1->(vi,vi-1,vi-2,---,v1,vn,vn-1,---,vi+2,vi+1)Or(vn,vn-1,vn-2,---,v2,v1)->p2 故h,k之间仍然连通
证毕
引理3:在破圈法中,删除每一条环上权值均不相同的无向连通图G中某一环R上权值最大的边E前G的最小生成树和删除后得到的新图G'的最小生成树相同——(可能有多个最小生成树)
证明:同样超级简单。由定理二,G'连通,故必然存在最小生成树,再由定理一,对G的任意最小生成树T,E不在T中,但T是G的极小连通子图,所以T同样是G'=G-E的极小连通子图,即生成树
T必然是G'的最小生成树,如若不然,设G'的最小生成树为T',由于T'为G'的极小连通子图,G'为G的子图,故T'是G的极小连通子图即生成树,从而T'的权值应当大于等于T的权值,但由假设T不是G'的最小生成树,故T的权值一定大于G'的最小生成树T'的权值,这是一个矛盾,故T必然是G'的最小生成树,同样G'的最小生成树必然是G的最小生成树,因为G'是G的子图,故G'的任意最小生成树T'一定是G的生成树,假若T'不是G的最小生成树,设G的最小生成树为T'',则T'的权值大于T'',但由上述证明知T''是G'的最小生成树,故应有T''权值等于T',矛盾,故G'的最小生成树都是G的最小生成树
引理4:在破圈法中,每一条环上权值均不相同的无向连通图G的任意环R中权值最大的边E必然会删去(elite)
证明:假设存在G某环R上权值最大的边E在破圈法中自始至终都不会被删去,由于破圈法运行结束时没有环,所以R上必然有不为E的若干边被先后删去,设这些边按删除时间从早到晚排序为e1,e2,---,en。删除e1时,e1必然在不为R的另一环R1中,且e1是R1中权值最大的边,显然E不在R1中,否则因E的权值大于e1,这样e1不是R1中权值最大的边,矛盾。设R1与R公共边的集合为S,这里e1属于S,E不属于S。于是我们从E的两个端点沿环R沿彼此相反方向延伸,沿每一个方向延伸的过程中抵达S中某条边的端点时停止延伸,记每一个方向停止延伸时抵达的端点分别为l和r.E在R上l到r不包含S中边的路径pl上,e1在R上l到r包含S中的边的路径pr上。设pr上包含e1,e2,---,en中的边em1,em2,---,emq, pl和pr将R1分为两部分,其中有且仅有一部分包含边e1,记不包含e1的部分为路径p.我们将p和pl组合(反证找路径从来没有操作过,难受)
得到新环R1',R1'上不包含e1但包含E,E的权值大于pl上其他任意边的权值,E的权值大于e1,e1的权值大于p上任意边的权值,故E的权值大于R1'上除E外任意边的权值
考察新环R1',如果R1'上的E最终会被删去则定理证毕,否则注意上文的p可能包含了em1,em2,---,emq中的某些边ek1,ek2,---,eks,且边{e1,e2,---,en}-{em1,em2,---,emq} = {el1,el2,---,eln-q}在pl上,故在R1'上。ek1,ek2,---,eks和el1,el2,---,eln-q会在R1'上按某种次序被先后删除,但对于R1'来说,可能还有其它会在e1被删除后被删除的边ej1,ej2,---,ejh,把ek1,ek2,---,eks, el1,el2,---,eln-q和ej1,ej2,---,ejh按删除的先后次序从早到晚排列起来得到删除序列eq1,eq2,---,eq(s+n-q+h),显然它们均不为E,然后考察R1'上对eq1删除,该过程可以重复以上对R中删除e1的讨论,最后可知删除eq1后,我们将得到新环R2',E在R2'上且E的权值大于R2'上任意边的权值,如果R2'上的E最终会被删去则定理证毕,否则对R2'再重复上述讨论,又得到新环R3'---以此类推。
由于G中的边数目是有限的,所以这一讨论不可能无限进行下去,于是就可以断言如果E始终未被删除则当边的删除操作停止也就是破圈法结束时,E必然在删除结束后所得的结果图G'的环Rs'中,且E是Rs'中权值最大的边,这和删除操作结束后G'不存在环矛盾
这就证明了任意环上权值最大的边在破圈法中必然会被删去
证明:破圈法运行结束后,所得的最终图T一定为生成树,且必然为执行算法前原图G的最小生成树
证法:绕开定理 三,由 定理二,T是连通的,显然T无环,且边数为G的定点数减一,故T为生成树,如若T不是G的最小生成树,设G的最小生成树为T',T一定有边E不在T'中,将边E加入T'中,于是T'中出现环R'且E在R'上,由定理四,E一定不是R'上权值最大的边E'(否则E会被删去,不会出现在T中),E'在T'中,于是从T'中去除E'并加入E得到生成树T'',T''的权值小于T',这和T'是G的最小生成树矛盾,故T是G的最小生成树(若有更小树,必有一圈C中T有比E大的边\(\iff\)E不是C中最大边,social)
推论:如果无向连通图G的每一条边的权值都不相同,那么G的最小生成树唯一
证明:设G的顶点数为n,若G的边数为n-1,则G本身就是它的最小生成树,若G的边数大于n-1,则G中必有环,又因为G的每一条边的权值均不相同,故G每一条环上权值均不相同,由定理三和定理五,最终图T就是G的全部最小生成树,即G的唯一最小生成树,证毕
愿偿少年泪,犹趁未老时!
本文来自博客园,作者:clfire,转载请注明原文链接:https://www.cnblogs.com/sky1water/p/16720539.html