1. 程式人生 > >最小生成樹之MST性質

最小生成樹之MST性質

在資料結構上看到這個性質的時候並不是很理解,覺得很抽象,所以我決定記錄一下,以免以後又不理解了。

其實就是一個 最優選擇問題。

原性質描述如下:

假設N = (V,{ E })是一個連通網,U 是頂點集V的一個非空子集。若(u , v )是一條具有最小權值(代價)的邊,其中u∈U, v∈V - U,則必存在一棵包含邊(u,v)的最小生成樹。

就先不畫圖了,現在把V分成U和V - U兩個集合,想一下,現在已經有一棵生成樹T了,所以在U和V - U之間一定有一條邊連著,所以這種情況下V - U中的所有點一定是互相連通的,(u,v)這條邊權最小,但是此刻並沒有連著。那麼就是V - U中的另一條邊連線著這兩個點集。那麼假如把這條邊換成(u ,v)了,一定比T的總權和小啊。就是醬紫。

這麼說可能還有點不理解,結合一下反證法就知道了。

假設網N的任何一棵最小生成樹都不包含(u,v)。設T是連通網上的一棵最小生成樹,當將邊(u,v)加入到T中時,由生成樹的定義,T中必存在一條包含(u,v)的迴路。另一方面,由於T是生成樹,則在T上必存在另一條邊(u’,v’),其中u’∈U,v’∈V - U,且u和u’之間,v和v’之間均有路徑相通。刪去邊(u’,v’),便可消除上述迴路,同時得到另一棵生成樹T’。因為(u,v)的代價不高於(u’,v’),則T’的代價亦不高於T,T’是包含(u,v)的一棵最小生成樹,和假設矛盾。