证明:
使用cut & paste的方式,先假定最小权值边不属于最小生成树,然后先去掉原先连接2棵树的边,连接上最小权值边,会发现新的树权值会更小,证明通过最小权值边一定是属于最小生成树;
关于图的几个概念定义:
此算法可以称为“加边法”,初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最小生成树的边集合里。
1. 把图中的所有边按代价从小到大排序;
2. 把图中的n个顶点看成独立的n棵树组成的森林;
3. 按权值从小到大选择边,所选的边连接的两个顶点ui,viui,vi,应属于两颗不同的树,则成为最小生成树的一条边,并将这两颗树合并作为一颗树。
4. 重复(3),直到所有顶点都在一颗树内或者有n-1条边为止。
此算法可以称为“加点法”,每次迭代选择代价最小的边对应的点,加入到最小生成树中。算法从某一个顶点s开始,逐渐长大覆盖整个连通网的所有顶点。
由于不断向集合u中加点,所以最小代价边必须同步更新;需要建立一个辅助数组closedge,用来维护集合v中每个顶点与集合u中最小代价边信息,:
伪代码
部分refer:
https://blog.csdn.net/a2392008643/article/details/81781766
开销计算:
原文:https://www.cnblogs.com/Ian-learning/p/12592641.html