Prim解決最小生成樹問題

  1. 問題
    給定一個有若干邊和頂點構成的圖,從中選則部分邊構成樹,且樹的權值要最小。
  2. 解析
    在這裏插入圖片描述
  3. 設計
    Void Prim(a)
    {visit[a]=ture
    For(i=1 to n,i++)
    Dis[i]=MGraph[a][i]
    For(i=1 to n,i++)
    {
    選出Dis中最小的邊;
    Visit[i]=TURE;
    Tmp.i=I;
    Tmp.w=dis[i]
    For(j=1 to n,j++)
    If(!=visit[j]&&dis[j]>MGraph[tmp.i][j])
    Dis[j]= MGraph[tmp.i][j];
    }
    }
  4. 分析
    O(n*n)
  5. 源碼 https://github.com/CunHua-YYT/CunHua-YYT/blob/master/Prim.cpp