m2skills

level node bt python

Jun 13th, 2018
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.39 KB | None | 0 0
  1. # http://code2begin.blogspot.com
  2. # program to print level of node in a given binary 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.  
  13. # function to find and return the level of a node in binary tree
  14. def level_of_node(root, data, level=-1):
  15.     # if the tree is empty or if we reach a leaf node then return 0
  16.     if root is None:
  17.         return -1
  18.     if root.data == data:
  19.         return level + 1
  20.  
  21.     # check in the left subtree for the element
  22.     # if found then return the level
  23.     level_node = level_of_node(root.left, data, level + 1)
  24.     if level_node != -1:
  25.         return level_node
  26.  
  27.     # searching for the node in right subtree
  28.     level_node = level_of_node(root.right, data, level + 1)
  29.     return level_node
  30.  
  31.  
  32.  
  33. head = node(1)
  34. head.left = node(2)
  35. head.right = node(3)
  36. head.left.left = node(4)
  37. head.left.right = node(5)
  38. head.right.right = node(6)
  39. head.left.left.right = node(7)
  40. head.right.right.left = node(8)
  41. head.left.left.right.left = node(9)
  42. head.left.left.right.left.left = node(10)
  43. head.right.right.left.right = node(11)
  44.  
  45. print("Level of node 1 is : " + str(level_of_node(head, 1)))
  46. print("Level of node 5 is : " + str(level_of_node(head, 5)))
  47. print("Level of node 10 is : " + str(level_of_node(head, 10)))
  48. print("Level of node 7 is : " + str(level_of_node(head, 7)))
  49. print("Level of node 24 is : " + str(level_of_node(head, 24)))
Add Comment
Please, Sign In to add comment