Durchwanderung: Binärbäume


Für die Durchwanderung eines Binärbaumes betrachten wir ein Beispiel:  ein arithmetischer Ausdruck sei als ein Binärbaum dargestellt, und wir wollen diesen Binärbaum verstrecken (manchmal flattening genannt), also in eine lineare Zeichenfolge überführen, aus der sich die ursprüngliche Struktur wiedergewinnen läßt. In der Schreibweise erlauben wir uns im Interesse der Klarheit einige Freiheiten, und wir setzen Klammern nach Bedarf.

Formel
Unsere drei Strategien liefern nun (leicht erweitert wegen der Klammern):
prefix(T) = *( +(a, b), -(c, d))

infix(T) = ((a + b) * (c - d))

postfix(T) = a b + c d - *

Die Präfix-Form und die Postfix-Form werden gelegentlich auch polnische (PN) bzw. umgekehrte polnische Notation UPN) genannt, nach dem polnischen Logiker Lukasiewicz, der sie ca. 1928 eingeführt hat. Sie kommen ohne Klammern aus, sofern die Stelligkeit der Operationen bekannt ist.

Aus den drei Verstreckungen läßt sich der ursprüngliche Binärbaum schematisch wiedergewinnen; für die Präfix- und die Postfix-Darstellung können die Leser vielleicht erraten, wie das geht. Man braucht als Hilfs-Datenstruktur einen expliziten Stapel für Zwischenresultate.


zurück | Inhalt | Index | vor | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36