数据结构_7:图算法 :图的最小生成树

prim算法

void prim(G,T)  //T是初始化为空树
{
    T=空集合;
    U={w}; //添加任意顶点
    while((V-U)!=空集) //若树中不包含全部顶点
      设(u,v)是使得u属于U,v属于(V-U),且权值最小的边
      T=T 并 {(u,v)}; //边归入树
      U=U 并 {v};  // 顶点归入树
}

kruskal算法

  • 按权值递减来生成树
  • 选择推来存放边的集合
void Kruskal(V,T)
{
    T=V;   //初始化树T,仅含顶点
    numS=n;    //不连通分量树
    while(numS>1)
    {
         从E中取出权值最小的边(v,u);
         if(v和u属于T中不同的连通分量)
           {
               T=T 并 {(v,u)};  //从此边生成树种
               numS--;
           }
    }
}

你可能感兴趣的:(数据结构_7:图算法 :图的最小生成树)