Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

class Node: def __init__(self, val): self.val = val self.leftChild = None self.rightChild = None def get(self): return self.val def set(self, val): self.val = val def

class Node: def __init__(self, val): self.val = val self.leftChild = None self.rightChild = None def get(self): return self.val def set(self, val): self.val = val def getChildren(self): children = [] if(self.leftChild != None): children.append(self.leftChild) if(self.rightChild != None): children.append(self.rightChild) return children class BST: def __init__(self): self.root = None def setRoot(self, val): self.root = Node(val) def insert(self, val): if(self.root is None): self.setRoot(val) else: self.insertNode(self.root, val) def insertNode(self, currentNode, val): if(val <= currentNode.val): if(currentNode.leftChild): self.insertNode(currentNode.leftChild, val) else: currentNode.leftChild = Node(val) elif(val > currentNode.val): if(currentNode.rightChild): self.insertNode(currentNode.rightChild, val) else: currentNode.rightChild = Node(val) def find(self, val): return self.findNode(self.root, val) def findNode(self, currentNode, val): if(currentNode is None): return False elif(val == currentNode.val): return True elif(val < currentNode.val): return self.findNode(currentNode.leftChild, val) else: return self.findNode(currentNode.rightChild, val) def printTree(self, order): if (order=="1"): print("Inorder") self.printBST_In(self.root) if (order=="2"): print("Pre-order") self.printBST_Pre(self.root) if (order=="3"): print("Post-order") self.printBST_Post(self.root) def printBST_In(self, rt): if(rt != None): self.printBST_In(rt.leftChild) print(rt.get()) self.printBST_In(rt.rightChild) def printBST_Pre(self, rt): if(rt != None): print(rt.get()) self.printBST_Pre(rt.leftChild) self.printBST_Pre(rt.rightChild) def printBST_Post(self, rt): if(rt != None): self.printBST_Post(rt.leftChild) self.printBST_Post(rt.rightChild) print(rt.get()) bst1=BST() print("Enter node values: 0 to end") flag = 1 while(flag): value=input() flag=int(value) if(flag==0): break bst1.insert(int(value)) order=input("1-Inorder, 2-pre-order, 3--post-order") bst.printTree(order) bst1.insert(10) bst1.insert(20) bst1.insert(8) bst1.insert(5) bst1.insert(9) bst1.insert(12) bst1.insert(25) order=input("1-Inorder, 2-Pre-order, 3-Post-order") #type(input) bst1.printTree(order) #bst1.pt()

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions