二分木
この条件を満たす簡単な表現法は、行きがけ順にノードを舐め、内部ノードなら1、葉なら0を出力する方法である(ここで「葉」はデータを含まないものを指す)。木にデータが含まれるなら(例えば前記のPascalの例で、dataフィールドの中身が空でないなら)、それらを次々に配列の中に格納していけばいい。 次のような関数を用いる:
string型データ structure は最終的に 2 n + 1 {\displaystyle 2n+1} bit になるにすぎない。ここで n {\displaystyle n} は内部ノードの数である。structure型データの長さすら記録する必要がない。次の関数を実行すれば、情報が全く失われていないことがわかるだろう。これはstring型データから二分木を再構築する:
更に洗練された簡潔表現を用いると、木構造をより小さく表現できるだけでなく、簡潔さを保ったまま、より便利な操作もできるようになる。