Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def __init__(self,value):
- self.left = None
- self.right = None
- self.value = value
- class BinaryTree:
- def __init__(self):
- self.root = Node(100) #Root will be always 1000
- def addNode(self, value):
- def insertRoutine(current,value):
- if current.value >= value:
- if current.left == None:
- current.left = Node(value)
- return
- else:
- insertRoutine(current.left, value)
- else:
- if current.right == None:
- current.right = Node(value)
- return
- else:
- insertRoutine(current.right, value)
- insertRoutine(self.root, value)
- def getMin(self):
- current = self.root
- while current.left != None:
- current = current.left
- return current.value
- def getMax(self):
- current = self.root
- while current.right != None:
- current = current.right
- return current.value
- def printTree(self, mode=2):
- def postOrder(current):
- if current == None:
- return
- postOrder(current.left)
- postOrder(current.right)
- print(current.value, end='\t')
- def preOrder(current):
- if current == None:
- return
- print(current.value, end='\t')
- preOrder(current.left)
- preOrder(current.right)
- def inOrder(current):
- if current == None:
- return
- inOrder(current.left)
- print(current.value, end='\t')
- inOrder(current.right)
- if mode == 1: postOrder(self.root)
- elif mode == 2: preOrder(self.root)
- elif mode == 3: inOrder(self.root)
- return 0
- def main():
- x = BinaryTree()
- x.addNode(1000)
- x.addNode(50)
- x.addNode(40)
- x.addNode(999)
- x.addNode(1423)
- x.addNode(1421)
- x.addNode(1425)
- x.printTree(3)
- main()
Add Comment
Please, Sign In to add comment