m2skills

check BST python

May 29th, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.69 KB | None | 0 0
  1. # http://code2begin.blogspot.com
  2. # Program to check if a given binary tree is a binary search tree
  3.  
  4. # node class
  5. class node:
  6.     def __init__(self, element):
  7.         self.data = element
  8.         self.left = None
  9.         self.right = None
  10.  
  11.  
  12. # function to check if the given binary tree is a BST or not
  13. def check_BST(current):
  14.     if current is None:
  15.         return True
  16.  
  17.     if current.left != None and current.data < current.left.data :
  18.         return False
  19.  
  20.     if current.right != None and current.data > current.right.data :
  21.         return False
  22.  
  23.     return (check_BST(current.left) and check_BST(current.right));
  24.  
  25.  
  26. head = node(1)
  27. head.left = node(2)
  28. head.right = node(3)
  29. head.left.left = node(4)
  30. head.left.right = node(5)
  31. head.right.right = node(6)
  32. head.left.left.right = node(7)
  33. head.right.right.left = node(8)
  34. head.left.left.right.left = node(9)
  35. head.left.left.right.left.left = node(10)
  36. head.right.right.left.right = node(11)
  37.  
  38. head2 = node(5)
  39. head2.left = node(2)
  40. head2.right = node(12)
  41. head2.left.left = node(-4)
  42. head2.left.right = node(3)
  43. head2.right.left = node(9)
  44. head2.right.right = node(21)
  45. head2.right.right.left = node(19)
  46. head2.right.right.right = node(25)
  47.  
  48. head3 = node(1)
  49. head3.left = node(2)
  50. head3.right = node(3)
  51. head3.left.left = node(4)
  52. head3.left.right = node(5)
  53. head3.right.right = node(6)
  54. head3.left.left.right = node(7)
  55. head3.right.right.left = node(8)
  56. head3.left.left.right.left = node(9)
  57. head3.left.left.right.left.left = node(10)
  58. head3.right.right.left.right = node(11)
  59.  
  60. print("Binary Tree #1 is a Binary Search Tree : " + str(check_BST(head)))
  61. print("Binary Tree #2 is a Binary Search Tree : " + str(check_BST(head2)));
  62. print("Binary Tree #3 is a Binary Search Tree : " + str(check_BST(head3)));
Add Comment
Please, Sign In to add comment