Reale Welt-pre - /post-order-tree-traversal-Beispiele
Verstehe ich pre-order, in-order und post-order-tree-traversal-algorithmen einfach in Ordnung. (Referenz). Ich verstehe ein paar Verwendungen: in-order-Traversierung binärer suchbäume in order, pre-order für das Klonen einen Baum. Aber ich kann nicht für das Leben von mir kommen mit einer realen Welt-Aufgabe, die ich bräuchte, post-order-traversal zu erreichen.
Können Sie mir ein Beispiel nennen? Und: können Sie mir keine besseren Verwendungen für pre-order-traversal?
Edit: Kann jemand mir ein Beispiel nennen, andere als Ausdruck Bäume und RPN? Ist das wirklich alles nach-Bestellung-ist das gut?
- gute Frage!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Topologische Sortierung ist ein post-order-Traversierung von Bäumen (oder gerichtete azyklische Graphen).
Die Idee ist, dass die Knoten des Graphen entsprechen den Aufgaben und einer Kante von
A
zuB
zeigt an, dassA
muss durchgeführt werden, bevorB
. Eine topologische Sortieren, ordnen diese Aufgaben in eine Reihenfolge, so dass alle Abhängigkeiten einer Aufgabe erscheinen früher als die Aufgabe selbst. Alle build-system wie UNIX machen hat zur Umsetzung dieses Algorithmus.Beispiel, dass Dario erwähnt — die Vernichtung aller Knoten eines Baumes mit der manuellen Speicherverwaltung — ist eine Instanz dieses Problems. Nachdem alle die Aufgabe, die Zerstörung eines Knotens hängt von der Zerstörung seiner Kinder.
Als Henk Holterman wies darauf hin, die Zerstörung eines Baumes mit der manuellen Speicherverwaltung in der Regel ist ein post-order-traversal.
Pseudocode: