class Node: def __init__(self,data): self.left = None self.right = None self.key = data def insert(root,node): if root is None: root = node else: if node.key < root.key: if root.right is None: root.right = node else: insert(root.right,node) else: if root.left is None: root.left = node else: insert(root.left,node) def inorder(root): if root: inorder(root.left) print(root.key) inorder(root.right) r = Node(50) insert(r,Node(30)) insert(r,Node(20)) insert(r,Node(70)) inorder(r) ''' # Python program to demonstrate insert operation in binary search tree # A utility class that represents an individual node in a BST class Node: def __init__(self,key): self.left = None self.right = None self.val = key # A utility function to insert a new node with the given key def insert(root,node): if root is None: root = node else: if root.val < node.val: if root.right is None: root.right = node else: insert(root.right, node) else: if root.left is None: root.left = node else: insert(root.left, node) # A utility function to do inorder tree traversal def inorder(root): if root: inorder(root.left) print(root.val) inorder(root.right) # Driver program to test the above functions # Let us create the following BST # 50 # / \ # 30 70 # / \ / \ # 20 40 60 80 r = Node(50) insert(r,Node(30)) insert(r,Node(20)) insert(r,Node(40)) insert(r,Node(70)) # Print inoder traversal of the BST inorder(r) '''