网上的prufer写的清晰的很多,看本博客之前看看别的博客,这篇主要写一些没有具体解释的内容。
1.prufer序列中某个编号出现的次数就等于这个编号的节点在无根树中的度数-1。
因为在成生prufer序列时,每删掉链接于该节点的一条边时,这个节点进入序列,知道它本身变成叶子,还剩下一个度,然而被干掉以后留下的不是它本身,所以只出现du-1次。
也正因如此,我们会给无根树剩下两个节点,而不是全部插入,否则最后一个点将不再满足这个性质,prufer序列优美的性质就没了。
2.一棵n个节点的无根树唯一地对应了一个长度为n-2的数列,数列中的每个数都在1到n的范围内。
这个应该还是比较好理解的,因为生成prufer序列时是非常有序的,不会有别的情况,就像sort一样,而数列中每个数都在1-n之间,这个很显然,不属于这个范围属于哪个范围……但是这是另一个性质的重要基础。
3.n个点有标号无根树的个数为nn-2。
这个便应用了性质2,因为prufer序列一共n-2个位置,每个位置填上1-n的数,总方案数可重复排列nn-2。
4.若n个点的度数分别为d1,d2……dn。则对应的无根树的个数为$frac{(n-2)!}{prod_{i=1}^n(d_i-1)!}$。
因为不同的prufer对应不同的无根树(我就是想说1,3,3,3和3,3,3,1生成的无根树是不一样的)。那就是个不全相异元素的全排列,直接套那个n!除以一坨阶乘之积的式子就好了。
5.n个点的有标号有根树的个数为nn-1个。
这个直接用无根树选个根就得到了,nn-2棵无根树,从这n个节点里任选一个根。完事。