46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
|
|
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()
|
|
|