1 .问题
分别采用Prim算法和Kruskal算法构建最小生成树。
2.解析
Prim算法——让一棵树长大
算法开始时,会从图中的顶点集合V中任意选择的一个单顶点,作为序列中的初始子树,每一次迭代时把不在树中的权重最小的边和树中顶点相连,当图中所有顶点都包含在所构造的树中时算法停止。
Kruskal算法——将森林合并成树
该算法开始时,按照权重非递减顺序对图中边进行排序,然后从一个空子图开始,扫描有序列表,并把列表中的下一条边加到当前子图中,直到生成最小生成树,特别要注意的是这一过程不能产生回路,若产生了回路则需要把这条边跳过。
3.算法
//构造最小生成树的Prim算法
//输入:加权连通图G = <V,E>
//输出:Et,组成G的最小生成树的边的集合
Vt<