An encoding which provides a bijection between the labeled trees on nodes and strings of integers chosen from an alphabet of the numbers 1 to . 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].
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 which is incident to the lowest labeled leaf is uniquely determined, and 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 integers between 1 and (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.