算法和分析1

  1. 问题
    在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即)且为无循环图,使得到的 w(T) 最小,则此 T 为 G 的最小生成树。
  2. 解析

算法和分析1

输入:一个加权连通图,其中顶点集合为V,边集合为E,初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew = {},为空;重复下列a,b操作,直到Vnew = V:
a.在集合E中选取权值最小的边<u, v>,其中u为集合Vnew中的元素,而v不在Vnew集合当中,并且v∈V(如果存在有多条满足前述条件即具有相同权值的边,则可任意选取其中之一);
b.将v加入集合Vnew中,将<u, v>边加入集合Enew中,最终得到最小生成树。

  1. 设计
    算法和分析1
  2. 分析
    [算法复杂度推导]
  3. 源码
    [github源码地址]
    https://github.com/xujinyuanky/-/tree/master