Cayley公式
内容
一个含有n个节点的完全图的生成树的个数为 n n − 2 n^{n-2} nn−2,即带有标号的n个节点的无根树的个数为 n n − 2 n^{n-2} nn−2
证明思路
Cayley公式可以根据Prüfer编码来证明。
Prüfer编码
给定带有标号的无根树,找出标号最小的叶子节点,将该点删掉同时写下与该点相邻节点标号,重复上述步骤直到剩下2个节点。最终写下来的标号序列为Prüfer编码。
小结论
1.可以证明一个Prüfer编码对应一种有标号的无根树,且序列的长度为无根树的节点个数-2,假设无根树有n个节点,那么序列的长度为 n − 2 n-2 n−2
2.n个无根树的个数=Prüfer编码的个数= n n − 2 n^{n-2} nn−2
拓展
由n个节点组成的k颗树的森林的种类个数:
f ( n , k ) = k ∗ n n − k − 1 f(n,k)=k*n^{n-k-1} f(n,k)=k∗nn−k−1
不严谨证明
证明:
f ( n , k ) f(n,k) f(n,k)表示n个节点组成的k颗树的森林的种类个数
我们可以得到 f ( n , k ) = ∑ j = 0 n − k ( n − k j ) f ( n − 1 , k + j − 1 ) f(n,k)=\sum_{j=0}^{n-k}{n-k \choose j}f(n-1,k+j-1) f(n,k)=j=0∑n−k(jn−k)f(n−1,k+j−1)
我对上式的理解:
我们有k个节点(初始森林大小为1)标号为 1 , 2 , 3 , … , k 1,2,3,\dots,k 1,2,3,…,k
( n − k j ) {n-k \choose j} (jn−k):从剩下的 n − k n-k n−k点中选出 j j j个与 1 1 1节点相连的方法数
f ( n − 1 , k + j − 1 ) f(n-1,k+j-1) f(n−