求最小支撑树的方法 破圈法求最小支撑树?
浏览量:2840
时间:2021-03-15 03:35:20
作者:admin
破圈法求最小支撑树?
1. 作为一个例子,如何使用断圆法找到最小生成树?
2. 首先,你需要看下图所示的圆,去掉重量最大的“6”边。
3. 然后看它旁边的圆圈,继续删除最强大的“7”边。
4. 那么我们应该继续扩大范围。在这个大圆圈里,我们应该去掉最有力的“5”面。
5. 当双方拥有相同的权利时,您可以随意删除“4”面。
6. 最后,我们可以得到如下结果,如图所示
循环避免方法:首先,根据权重从小到大排列边缘:(a,b)(a,c)(b,c)(b,d)(b,e)(c,e)(a,e)(d,e)(a,d),然后取(a,b)(a,c),弃(b,c),取(b,d)(b,e),弃(c,e)(a,e)(a,d),计算完毕。得到的最小生成树如下图所示,w(T)=28[避免圆法,即选择时避免取出一个圆
避免圆的方法是:只要不形成环,就始终找到最短边,然后保留它。断圆的方法是:当你看到循环时,先找到循环的最长边,然后将其消除,再找到下一个循环的最长边进行消除
prim(prim)算法设为n=(V,e,c)连通网络,Te是n的最小生成树的边集。
①算法开始时,u={u o}(u o∈V),Te=0;
②找到满足权(u,V)=min{weight(u 1,V 1)| u 1∈u,V 1∈V-u}的边,并将其合并到集Te中,同时将V合并到u中。
③反复执行算法,直到v=U
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。