圖論學習五之minimal spanning tree最小生成樹

      生成樹的概念算法


生成樹
   一個連通圖的生成樹是一個極小連通子圖,它含有圖中全
      部頂點,但只有足以構成一棵樹的n-1條邊。
   生成樹不惟一
spa

      最小生成樹code


生成樹的代價等於其邊上的權值之和。
blog

       兩種經常使用的構造最小生成樹的方法:class


Prim 算法
Kruskal 算法(重要)
方法

 

      Prim算法im


假設N=(VE)是連通網, TEN上最小生成樹中邊的集合。
算法從U={u0}(u0∈V)TE={}開始,重複執行下述操做:
   在全部u∈Uv∈V-U的邊(uv)中找一條代價最小的邊(u0 ,v0),
        其併入集合TE,同時將v0併入U集合。
     U=V則結束,此時TE中必有n-1條邊,則T=(V{TE})N的最小生
        成樹。
prim算法構造最小生成樹的過程是從一個頂點U={u0}做初態,
不斷尋找與U中頂點相鄰且代價最小的邊的另外一個頂點,擴
充到U集合直至U=V爲止。
d3

prim算法求最小生成樹:從生
成樹中只有一個頂點開始,到
頂點所有進入生成樹爲止
db

 

      Kruskal算法img


假設連通網N=(VE),則令最小生成樹的初始狀態
  爲只有n個頂點而無邊的非連通圖T=(V{}),圖中
  每一個頂點自成一個連通份量。


E中選擇代價最小的邊,若該邊依附的頂點落在T
  中不一樣的連通份量上,則將此邊加入到T中,不然
  捨去此邊而選擇下一條代價最小的邊。依次類推,
  直至T中全部頂點都在同一連通份量上爲止。

 

克魯斯卡爾算法求最小生成樹

 

 

 


若是你不開心,那我就把右邊這個帥傻子分享給你吧,
你看,他這麼好看,跟個zz同樣看着你,你還傷心嗎?
真的!這照片盯上他五秒鐘就想笑了。
一切都會過去的。
時間時間會給你答案2333
相關文章
相關標籤/搜索