Wa0003.
Wa0003.
inserting the values in the order given. After constructing a binary tree –
i. Insert new node,
ii. Find number of nodes in longest path from root,
iii. Minimum data value found in the tree,
iv. Change a tree so that the roles of the left and right pointers are swapped at every node,
Search a value
class Node:
self.data = data
self.L = None
self.R = None
class BST:
def __init__(self):
self.root = None
self.count = 0
def create(self):
while True:
temp = Node(data)
if self.root is None:
self.root = temp
else:
self.insert(self.root, temp)
self.count += 1
ans = input("Do you want to insert more values? (y/n): ")
if ans.lower() != 'y':
break
if root.R is None:
root.R = temp
else:
self.insert(root.R, temp)
else:
if root.L is None:
root.L = temp
else:
self.insert(root.L, temp)
self.disin(root.L)
print(root.data, end="\t")
self.disin(root.R)
print(root.data, end="\t")
self.dispre(root.L)
self.dispre(root.R)
self.dispost(root.L)
self.dispost(root.R)
print(root.data, end="\t")
temp = root
if key == temp.data:
print("KEY FOUND")
return
temp = temp.R
else:
temp = temp.L
if root is None:
return 0
return 0
else:
temp = root
temp = temp.L
print(temp.data)
self.mirror(root.L)
self.mirror(root.R)
# Main program
t = BST()
while True:
print("\n1) Insert new node 2) Number of nodes in longest path 3) Minimum 4) Mirror 5)
Search 6) Inorder 7) Preorder 8) Postorder")
if ch == 1:
t.create()
elif ch == 2:
elif ch == 3:
print("\nThe min element is: ", end="")
t.min(t.root)
elif ch == 4:
t.mirror(t.root)
t.disin(t.root)
elif ch == 5:
t.search(t.root, key)
elif ch == 6:
print("\n***************INORDER**************")
t.disin(t.root)
elif ch == 7:
print("\n***************PREORDER**************")
t.dispre(t.root)
elif ch == 8:
print("\n*******************POSTORDER**************")
t.dispost(t.root)
else:
if ans.lower() != 'y':
break