主题
Search

普吕弗编码


LabeledTrees

一种编码,它提供了 n^(n-2)标记树 (在 n 个节点上)与 n-2 个整数的字符串之间的双射,这些整数选自 1 到 n 的字母表。可以使用以下方法将标记树转换为 Prüfer 编码LabeledTreeToCode[g] 在 Wolfram 语言 包中Combinatorica`,并且可以使用以下方法将代码转换为 标记树CodeToLabeledTree[code]。

PrueferCode

Prüfer 的双射基于以下事实:每棵树至少有两个度为 1 的节点(即,树叶)。因此,与标签最低的叶子关联的节点 v 是唯一确定的,然后将 v 作为代码中的第一个符号。然后删除此标签最低的叶子,并重复该过程,直到只剩下一条边,从而得到总共 n-2 个介于 1 和 n 之间的整数 (Skiena 1990)。这在上面显示的标记树中得到了证明。叶子删除的顺序是 4、6、2、1、7 和 3,分别对应于关联节点 1、2、1、3、3 和 5。


另请参阅

标记树

使用 Wolfram|Alpha 探索

参考文献

Prüfer, H. "Neuer Beweis eines Satzes über Permutationen." Arch. Math. Phys. 27, 742-744, 1918.Skiena, S. Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Reading, MA: Addison-Wesley, 1990.

在 Wolfram|Alpha 上被引用

普吕弗编码

请引用为

Weisstein, Eric W. "Prüfer Code." 来自 MathWorld--Wolfram Web 资源。 https://mathworld.net.cn/PrueferCode.html

主题分类