Check for BST Python
- Get link
- X
- Other Apps
PROGRAM TO CHECK IF A BINARY TREE IS BST OR NOT
class Node: # constructor to create new node def __init__(self, val): self.data = val self.left = None self.right = None# global variable prev - to keep track# of previous node during Inorder# traversalprev = None# function to check if given binary# tree is BSTdef isbst(root): # prev is a global variable global prev prev = None return isbst_rec(root)# Helper function to test if binary# tree is BST# Traverse the tree in inorder fashion# and keep track of previous node# return true if tree is Binary# search tree otherwise falsedef isbst_rec(root): # prev is a global variable global prev # if tree is empty return true if root is None: return True if isbst_rec(root.left) is False: return False # if previous node'data is found # greater than the current node's # data return fals if prev is not None and prev.data > root.data: return False # store the current node in prev prev = root return isbst_rec(root.right)# driver code to test above functionroot = Node(4)root.left = Node(2)root.right = Node(5)root.left.left = Node(1)root.left.right = Node(3)if isbst(root): print("is BST")else: print("not a BST")
OUTPUT:
Not a BST
- Get link
- X
- Other Apps
Comments
Post a Comment