信息数学-prufer数列

Prufer数列是无根树的一种数列。在组合数学中,Prufer数列由有一个对于顶点标过号的树转化来的数列,点数为n的树转化来的Prufer数列长度为n-2。它可以通过简单的迭代方法计算出来。它由Heinz Prufer于1918年在证明cayley定理时首次提出

 

将树转换为prufer数列的方法

总体的思路是迭代删点,直到原图中只剩下两个点。对于一棵树T,我们已经将每次找到树中标号最小的叶子结点,将这个叶子结点以及与它相邻的边删去,将与叶子结点相连

的点加入数列中。重复上一步,直到原图中只剩下两个点。

例子:以右边的树为例子,首先在所有叶子节点中编号最小的点是2,和它相邻的点的编号是3,将3加入序列并删除编号为2的点。接下来删除的点是4,5被加入序列,然后删除5,1,此时原图仅剩两个点,Prufer序列构建完成,为{3,5,1,3}

 

 prufer序列转化为无根树

将结点列一个集合A={1,2,3......,n};在集合A中找出一个没有在prufer数列中出现的最小的值,将这个值在集合A中删去,并且将这个值和prufer数列中的第一个数连起一条边,并划去prufer数列中的第一个值,重复此步,直到集合A中只剩下两个数字,将以这两个数字为编号的结点连起一条边。

仍为上面的树,Prufer序列为{3,5,1,3},开始时G={1,2,3,4,5,6},未出现的编号最小的点是2,将2和3连边,并删去Prufer序列首项和G中的2。接下来连的边为{4,5},{1,5},{1,3},此时集合G中仅剩3和6,在3和6之间连边,原树恢复

 

prufer数列的特点

这个点的度数-1=它在数列的出现次数。
prufer序列中某个编号出现的次数+1就等于这个编号的节点在无根树中的度数。
所以数列总长度是n-2
 

可见无根树和prufer数列是唯一对应的。

一棵n个节点的无根树唯一地对应了一个长度为n-2的数列,数列中的每个数都在1到n的范围内

Cayley公式

因此n个节点构成的无根树有n^(n-2)种

-- 组成Prufer数列长度为n-2 这n-2个数,为1-n中任意数 且可以重复 所以每一位可用n个数填充,n*n*n  (n-2个n相乘) 

Prufer序列的应用

Prufer序列一般是用于图论的组合计数问题。

1、无向完全图的不同生成树数:

若该完全图有 [公式] 个节点,则任意一个长度为 [公式] 的Prufer序列都可以重构出其一棵生成树,且各不相同。又因为Prufer序列的值域在 [公式] ,故总数为 [公式] 。

这就是有名的Cayley公式。

2、 [公式] 个点的无根树计数:

同上问题。

3、 [公式] 个点的有根树计数:

对每棵无根树来说,每个点都可能是根,故总数为 [公式] 。

4、 [公式] 个点,每点度分别为 [公式] 的无根树计数:

总排列为 [公式] ,即 [公式] 。

其中数字 [公式] 出现了 [公式] 次,故其重复的有 [公式] 种排列,即 [公式] 。

应当除去重复的,故总个数为 [公式] 。

 

 
posted @ 2022-05-18 00:22  new-code  阅读(110)  评论(0)    收藏  举报