2017-05-06 1 views
1

Okay, also muss ich angesichts dieses Baumes die Vororder, In-Order und Post-Order-Traversals dafür schreiben.Schreiben Sie Vorbestellungen, In-Order und Post-Order-Traversals mit einem Baum:

         9 
           / \ 
           5  12 
           /\ /\ 
           2 7 11 15 
          ///\ \ 
          3 6 10 13 16 
               \ 
                17 

Dies ist, was ich habe kommen mit, hat mein Lehrer nicht eine große Arbeit zu gehen über das tun, so bin ich nicht sicher, ob ich in der Nähe richtig überall bin.

 pre-order: 9 5 2 3 7 6 12 11 10 13 15 16 17 
     in-order: 3 2 5 7 6 9 12 11 10 13 15 16 17 
     post-order: 3 2 6 7 5 10 11 17 16 15 13 12 9 

Jede mögliche Hilfe

+0

wir brauchen Programm oder wie dieser Ausgang kommt? –

+1

Was ist Ihre Frage? Warum ist es als "Python" markiert? – dede

+0

müssen wir nicht programmieren. Ich erhielt den Baum und benutzte Wikipedia, um die obigen Ausgaben für Vorbestellung, In-Order und Post-Order aufzubauen. Ich will nur wissen, ob ich es richtig mache – Goose

Antwort

0

Vorbestellen sehr geschätzt werden: Führen Sie eine depth-first traveral und schreiben Sie den Knoten, wenn Sie es zum ersten Mal begegnen. Das ist also richtig (9 5 2 3 7 6 12 11 10 13 15 16 17).

Nachbestellung: Führen Sie eine Tiefenüberprüfung durch und schreiben Sie den Knoten aus, nachdem Sie alle untergeordneten Elemente verarbeitet haben. Also wäre die richtige Reihenfolge (3 2 6 7 5 10 13 11 17 16 15 12 9).

In Reihenfolge: Führen Sie zuerst eine Tiefenüberprüfung durch und schreiben Sie zuerst den linken Teilbaum, dann den Knoten selbst und anschließend den rechten Teilbaum. Also wäre die richtige Reihenfolge (3 2 5 6 7 9 10 11 13 12 15 16 17). Hier macht es einen Unterschied, ob ein einzelnes Kind links oder rechts ist, für die anderen Methoden ist es egal.

Verwandte Themen