TOPICS
Search

Prüfer Code


LabeledTrees

An encoding which provides a bijection between the n^(n-2) labeled trees on n nodes and strings of n-2 integers chosen from an alphabet of the numbers 1 to n. A labeled tree can be converted to a Prüfer code using LabeledTreeToCode[g] in the Wolfram Language package Combinatorica` , and a code can be converted to a labeled tree using CodeToLabeledTree[code].

PrueferCode

Prüfer's bijection is based on the fact that every tree has at least two nodes of degree 1 (i.e., tree leaves. Therefore, the node v which is incident to the lowest labeled leaf is uniquely determined, and v is then taken as the first symbol in the code. This lowest labeled leaf is then deleted and the procedure is repeated until a single edge is left, giving a total of n-2 integers between 1 and n (Skiena 1990). This is demonstrated in the labeled tree shown above. The sequence of leaf deletions is 4, 6, 2, 1, 7, and 3, corresponding to incident nodes 1, 2, 1, 3, 3, and 5, respectively.


See also

Labeled Tree

Explore with Wolfram|Alpha

WolframAlpha

More things to try:

References

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.

Referenced on Wolfram|Alpha

Prüfer Code

Cite this as:

Weisstein, Eric W. "Prüfer Code." From MathWorld--A Wolfram Web Resource. https://mathworld.wolfram.com/PrueferCode.html

Subject classifications