diff --git a/data_structures/Binary Tree/binary_seach_tree.py b/data_structures/Binary Tree/binary_seach_tree.py index 1dac948ae3c5..1805983da6ce 100644 --- a/data_structures/Binary Tree/binary_seach_tree.py +++ b/data_structures/Binary Tree/binary_seach_tree.py @@ -8,7 +8,7 @@ class Node: def __init__(self, label): self.label = label self.left = None - self.rigt = None + self.right = None def getLabel(self): return self.label @@ -23,10 +23,10 @@ def setLeft(self, left): self.left = left def getRight(self): - return self.rigt + return self.right def setRight(self, right): - self.rigt = right + self.right = right class BinarySearchTree: @@ -67,12 +67,23 @@ def empty(self): return True return False - def preShow(self, curr_node): - if curr_node is None: + def preorderShow(self, curr_node): + if curr_node is not None: + print(curr_node.getLabel(), end=" ") + self.preorderShow(curr_node.getLeft()) + self.preorderShow(curr_node.getRight()) + + def postorderShow(self, curr_node): + if curr_node is not None: + self.postorderShow(curr_node.getLeft()) + self.postorderShow(curr_node.getRight()) print(curr_node.getLabel(), end=" ") - self.preShow(curr_node.getLeft()) - self.preShow(curr_node.getRight()) + def inorderShow(self, curr_node): + if curr_node is not None: + self.inorderShow(curr_node.getLeft()) + print(curr_node.getLabel(), end=" ") + self.inorderShow(curr_node.getRight()) def getRoot(self): return self.root @@ -89,15 +100,18 @@ def getRoot(self): 4 7 13 ''' -t = BinarySearchTree() -t.insert(8) -t.insert(3) -t.insert(1) -t.insert(6) -t.insert(4) -t.insert(7) -t.insert(10) -t.insert(14) -t.insert(13) - -t.preShow(t.getRoot()) +if __name__ == '__main__': + t = BinarySearchTree() + t.insert(8) + t.insert(3) + t.insert(1) + t.insert(6) + t.insert(4) + t.insert(7) + t.insert(10) + t.insert(14) + t.insert(13) + + t.preorderShow(t.getRoot()) + t.inorderShow(t.getRoot()) + t.postorderShow(t.getRoot())