算法作用:
破圈法是求解最小生成树的算法
算法过程
求解过程大致为任取一圈,去掉边上权最大的边,反复执行这一步骤,直到没有圈为止。
结果正确性证明
采用反证法,下面是证明过程(不严谨证明重在理解):
设T为破圈法产生的树,T0为最小生成树
假设T不是最小生成树。
因为最小生成树加一条边一定会产生回路
所以当T与T0取并集(T U T0)后,就相当于在T0上加边
此时T0就会产生回路,假设回路如下:
根据最小生成树的定义可以知道如果没有其他线连着ABC的话,上图中(A, C)和(A,B)就是最小生成树的边,也就是T0的边。
破圈法会删除每个圈里面的最大边,也就是说,破圈法产生的边只能是(A, C)和(A,B),不能是5。所以不应该产生(B,C)这条边。
如果两个不同的树相并,一定会产生回路,但现在回路并不能产生。
与原来假设相冲突,证明完毕。