m2skills

levelwise python

Jun 1st, 2018
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 KB | None | 0 0
  1. # http://code2begin.blogspot.com
  2. # Program to print nodes of tree using level wise traversal
  3. # node class
  4. class node:
  5.     def __init__(self, element):
  6.         self.data = element
  7.         self.hd = -1
  8.         self.left = None
  9.         self.right = None
  10.  
  11. # BFS itertative using queue
  12. def level_wise_traversal(root):
  13.     if root is None:
  14.         return
  15.  
  16.     # creating a Queue for storing node for level wise traversal
  17.     Q = list()
  18.     Q.append(root)
  19.     level = 0
  20.  
  21.     while len(Q):
  22.         # store the current size of the Q
  23.         count = len(Q)
  24.         print("\nNODES at level " + str(level) + " are : ", end = " ")
  25.         level += 1
  26.         while count != 0:
  27.             # pop the first node from the queue
  28.             NODE = Q[0]
  29.             del Q[0]
  30.             print(NODE.data, end=" ")
  31.  
  32.             # push the left child on queue
  33.             if NODE.left is not None:
  34.                 Q.append(NODE.left)
  35.  
  36.             # push the right child on queue
  37.             if NODE.right is not None:
  38.                 Q.append(NODE.right)
  39.             count -= 1
  40.  
  41.  
  42. head = node(1)
  43. head.left = node(2)
  44. head.right = node(3)
  45. head.left.left = node(4)
  46. head.left.right = node(5)
  47. head.right.right = node(6)
  48. head.left.left.right = node(7)
  49. head.right.right.left = node(8)
  50. head.left.left.right.left = node(9)
  51. head.left.left.right.left.left = node(10)
  52. head.right.right.left.right = node(11)
  53. print("Level wise traversal of the above binary tree is : ")
  54. level_wise_traversal(head)
Add Comment
Please, Sign In to add comment