Binary tree
class Node:
def __init__(self,num):
self.Left=None
self.Right=None
self.data=num
#######################################################################
def insert(self,num):
if self.data:
if num <= self.data:
if self.Left is None:
self.Left=Node(num)
else:
self.Left.insert(num)
elif self.data < num:
if self.Right is None:
self.Right=Node(num)
else:
self.Right.insert(num)
else:
self.data=num
#######################################################################
def preorder(self):
if self.data:
print(self.data)
if self.Left:
self.Left.preorder()
if self.Right:
self.Right.preorder()
#########################################################################
def inorder(self):
if self.Left:
self.Left.inorder()
if self.data:
print(self.data)
if self.Right:
self.Right.inorder()
###########################################################################
def postorder(self):
if self.Left:
self.Left.postorder()
if self.Right:
self.Right.postorder()
if self.data:
print(self.data)
#############################################################################
l=list(int(x) for x in input("enter items separatd by , ").split(","))
n=Node(l[0])
for i in range(1,len(l)):
n.insert(l[i])
print("Preorder")
n.preorder()
print("Inorder")
n.inorder()
print("Postorder")
n.postorder()