-1
Wir wissen nicht, wie in Traversierungsreihenfolge zu drucken und auch nicht wissen, wie Sie das Ergebnis ausdrucken, wenn wir die binary_str eingeben, kann uns jemand helfen?Etwas über die Verwendung inorder traversal druckt alle Elemente im Binärbaum
class TreeNode:
def __init__(self , item , left , right):
self.item = item
self.right = right
self.left = left
class BinaryTree:
def __init__(self):
self.root = None
def add(self , item , binary_str):
binary_str_itr = iter(binary_str)
self.root = self.add_aux(self.root , item , binary_str_itr)
def add_aux(self , current , item , binary_str_itr):
if current is None:
current = TreeNode(None , None , None)
try:
bit = next(binary_str_itr)
if bit == '0':
current.left = self.add_aux(current.left , item , binary_str_itr)
elif bit == '1':
current.right = self.add_aux(current.right , item , binary_str_itr)
except StopIteration:
current.item = item
return current
def print_inorder(self):
self.print_inorder_aux(self.root)
def print_inorder_aux(self,current):
if current is not None: #if not a base case
self.print_inorder_aux(current.left)
print(current)
self.print_inorder_aux(current.right)
@Uncle SAM, für Ihren Fall goldene Faustregel self.left ist - self.item - Selbst .Recht –