Binarer baum, Inhaltsverzeichnis
Wie zu erwarten realisieren wir den Knoten durch ein struct.

Alle Beispiele und Operationen lassen sich aber auch mit komplexen Datentypen realisieren. Zurückggeben wird ein Zeiger auf den Knoten oder Null, falls kein Speicher angefordert werden konnte.
Preorder, Inorder und Postorder verwenden im Grunde denselben Algorithmus und erledigen ihre Aufgabe nur an unterschiedlichen Stellen, wie binarer baum folgende Schem zeigt.

Als Zähler wird eine statische Variable verwendet, die bekanntlich nur einmal initialisiert wird. In diesem Fall ist es egal, wo der Zähler inkrementiert wird. Hier gehen wir einen andseren Weg.

Die Hilfsfunktion verbessert dann erkursiv diesen Startwert bis das Minimum erreicht ist. Einfügen von printf zeigt das. Ebenso geht es mit Inorder und Postorder.

Man kann jedoch auch alle Pfade von der Spitze zu den Blättern einzeln ablaufen. Nick Parlante hat diesen Algorithmus vorgestellt, den wir hier in einer kleinen Variante zeigen.

Alle Pfade von Root zu einem Blatt durchlaufen Um binarer baum Idee nachvollziehn zu können gehen wir binarer baum der Preorderanordnung aus und fügen nach jedem Blatt einen Zeilenvorschub ein. Überdies schreiben wir Buchstaben auf ein und demselben Level in einer Spalte untereinander t h i s i s binarer baum b i n a binarer baum y t r e e Wenn es nun gelingt die Pfadanfänge der vorigen Zeile von der ersten Zeile an zu übernehmen, dann haben wir alle Pfade ausgehend von Root aus gefunden.
