2017-11-26 13 views
-3

ich diesen Code von Stackoverflow bekommen haben, aber es funktioniert nicht gut:binärer Suchbaum Ausgabe in Postorder nicht funktioniert

def postorder(tree): 

    data = [] 

    def recurse(node): 
     if not node: 
      return 
     recurse(node.left) 
     recurse(node.right) 
     data.append(node.data) 

    recurse(tree) 
    return data 

a = input().split(' ') 
recRoot = Node(a[0]) 
for i in range(len(a)): 
    recRoot.insert(a[i]) 

print(postorder(recRoot)) 
  • Eingang: 88 99 43 15 4 91 31
  • Ausgang : 4 15 43 31 91 99 88
  • Ausgang sollte sein: 4 31 15 43 91 99 88

Bitte helfen Sie mir mir dieses Problem zu lösen. DANKE 3 TIMES :))

+0

Können Sie uns zeigen, was Sie mit 'Node()' machen? –

Antwort

1

Es gibt nichts falsch mit Postorder-Funktion. Ich denke, dass Sie Änderungszeichen während des Erstellens des Baums haben, überprüfen Sie Ihre Einfügefunktion erneut.

+0

Vielen Dank für Ihren Rat. Es funktioniert jetzt gut :) – LotOfQuestion