完全圖的產生樹

來源:互聯網
上載者:User
經典證明:Prüfer編碼與Cayley公式(轉Matrix67)


Cayley公式是說,一個完全圖K_n有n^(n-2)棵產生樹,換句話說n個節點的帶標號的無根樹有n^(n-2)個。今天我學到了Cayley公式的一個非常簡單的證明,證明依賴於Prüfer編碼,它是對帶標號無根樹的一種編碼方式。
給定一棵帶標號的無根樹,找出編號最小的葉子節點,寫下與它相鄰的節點的編號,然後刪掉這個葉子節點。反覆執行這個操作直到只剩兩個節點為止。由 於節點數n>2的樹總存在葉子節點,因此一棵n個節點的無根樹唯一地對應了一個長度為n-2的數列,數列中的每個數都在1到n的範圍內。下面我們只 需要說明,任何一個長為n-2、取值範圍在1到n之間的數列都唯一地對應了一棵n個節點的無根樹,這樣我們的帶標號無根樹就和Prüfer編碼之間形成一 一對應的關係,Cayley公式便不證自明了。

注意到,如果一個節點A不是葉子節點,那麼它至少有兩條邊;但在上述過程結束後,整個圖只剩下一條邊,因此節點A的至少一個相鄰節點被去掉過,節 點A的編號將會在這棵樹對應的Prüfer編碼中出現。反過來,在Prüfer編碼中出現過的數字顯然不可能是這棵樹(初始時)的葉子。於是我們看到,沒 有在Prüfer編碼中出現過的數字恰好就是這棵樹(初始時)的葉子節點。找出沒有出現過的數字中最小的那一個(比如④),它就是與Prüfer編碼中第 一個數所標識的節點(比如③)相鄰的葉子。接下來,我們遞迴地考慮後面n-3位編碼(別忘了編碼總長是n-2):找出除④以外不在後n-3位編碼中的最小
的數(左圖的例子中是⑦),將它串連到整個編碼的第2個數所對應的節點上(例子中還是③)。再接下來,找出除④和⑦以外後n-4位編碼中最小的不被包含的 數,做同樣的處理……依次把③⑧②⑤⑥與編碼中第3、4、5、6、7位所表示的節點相連。最後,我們還有①和⑨沒處理過,直接把它們倆串連起來就行了。由 於沒處理過的節點數總比剩下的編碼長度大2,因此我們總能找到一個最小的沒在剩餘編碼中出現的數,演算法總能進行下去。這樣,任何一個Prüfer編碼都唯 一地對應了一棵無根樹,有多少個n-2位的Prüfer編碼就有多少個帶標號的無根樹。

一個有趣的推廣是,n個節點的度依次為D1, D2, ..., Dn的無根樹共有(n-2)! / [ (D1-1)!(D2-1)!..(Dn-1)! ]個,因為此時Prüfer編碼中的數字i恰好出現Di-1次。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.