class Node: def __init__(self, key): self.left = None self.right = None self.val = key # Traverse preorder def traversePreOrder(self): print(self.val, end=' ') if self.left: self.left.traversePreOrder() if self.right: self.right.traversePreOrder() # Traverse inorder def traverseInOrder(self): if self.left: self.left.traverseInOrder() print(self.val, end=' ') if self.right: self.right.traverseInOrder() # Traverse postorder def traversePostOrder(self): if self.left: self.left.traversePostOrder() if self.right: self.right.traversePostOrder() print(self.val, end=' ') root = Node(5) root.left = Node(6) root.right = Node(7) root.left.left = Node(8) print("Preorder Traversal: ", end="") root.traversePreOrder() print("\nInorder Traversal: ", end="") root.traverseInOrder() print("\nPostorder Traversal: ", end="") root.traversePostOrder()