2010-07-09 10 views
15

In-Order-Baum Traversal hat offensichtlich Anwendung; den Inhalt in Ordnung bringen.Postorder Traversal

Preorder traversal scheint wirklich nützlich zum Erstellen einer Kopie des Baumes.

Gibt es eine allgemeine Verwendung für die Postorder-Traversierung eines Binärbaums?

+0

Um es in einer anderen Reihenfolge, z. B. Postfix: http://en.wikipedia.org/wiki/Reverse_Polish_notation –

+0

Die HP-Rechner-Syntax kommt mir in den Sinn. +1 –

+0

Ja, Postfix ist ideal für die Auswertung von Ausdrücken auf einem Stapel. Es ist auch unzweideutig über die Reihenfolge der Operationen, im Gegensatz zu Infix. –

Antwort

29

mir ein anderes hinzufügen lassen. Um den zugewiesenen Speicher aller Knoten in einem Baum freizugeben, müssen die Knoten in der Reihenfolge gelöscht werden, in der der aktuelle Knoten nur dann gelöscht werden kann, wenn seine beiden linken und rechten Teilbäume gelöscht sind.

Postorder macht genau das. Es verarbeitet sowohl die linken als auch die rechten Teilbäume, bevor der aktuelle Knoten verarbeitet wird.

+2

Das ist eigentlich die nützlichste Antwort, die ich bisher gehört habe; herzlich willkommen! –

3

Ja. Postorder wird manchmal verwendet, um mathematische Ausdrücke zwischen verschiedenen Notationen zu übersetzen.

Nachordnungsdurchquerung ist in das Löschen eines Baumes auch nützlich:

4

Wenn der Baum einen mathematischen Ausdruck darstellt, ist zur Auswertung des Ausdrucks ein Post-Order-Traversal erforderlich.

0

Es kann auch eine postfix Darstellung eines Binärbaums generieren.