m2skills

levelwise java

Jun 3rd, 2018
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.25 KB | None | 0 0
  1. // http://code2begin.blogspot.com
  2. // program to print a binary tree level wise
  3.  
  4. /**
  5.  * Created by MOHIT on 25-05-2018.
  6.  */
  7.  
  8. import java.util.*;
  9. import static java.lang.Integer.max;
  10.  
  11. // node class
  12. class node{
  13.     int data;
  14.     node left;
  15.     node right;
  16.  
  17.     // function that returns a pointer to new node
  18.     public node(int element){
  19.         this.data = element;
  20.         this.left = null;
  21.         this.right = null;
  22.        
  23.     }
  24. };
  25.  
  26. public class BinaryTree {
  27.    
  28.     // BFS iretative using queue
  29.     static void level_wise_traversal(node root){
  30.         if(root == null){
  31.             return;
  32.         }
  33.        
  34.         // creating a Queue for storing node for level wise traversal
  35.         ArrayList Q = new ArrayList<node>();;
  36.         Q.add(root);
  37.         int level = 0;
  38.        
  39.         while(!Q.isEmpty()){
  40.             // store the current size of the Q
  41.             int count = Q.size();
  42.             System.out.print("\nNODES at level " + level + " are : ");
  43.             level += 1;
  44.             while(count > 0) {
  45.                 // pop the first node from the queue
  46.                 node NODE = (node)Q.get(0);
  47.                 Q.remove(0);
  48.                 System.out.print(NODE.data + " ");
  49.                
  50.                 // push the left child on queue
  51.                 if (NODE.left != null) {
  52.                     Q.add(NODE.left);
  53.                 }
  54.                
  55.                 // push the right child on queue
  56.                 if (NODE.right != null) {
  57.                     Q.add(NODE.right);
  58.                 }
  59.                 count--;
  60.             }
  61.  
  62.         }
  63.    
  64.     }
  65.  
  66.     public static void main(String arg[]) {
  67.         node head = new node(1);
  68.         head.left = new node(2);
  69.         head.right = new node(3);
  70.         head.left.left = new node(4);
  71.         head.left.right = new node(5);
  72.         head.right.right = new node(6);
  73.         head.left.left.right = new node(7);
  74.         head.right.right.left = new node(8);
  75.         head.left.left.right.left = new node(9);
  76.         head.left.left.right.left.left = new node(10);
  77.         head.right.right.left.right = new node(11);
  78.        
  79.         System.out.print("Level wise traversal of the above binary tree is : ");
  80.         level_wise_traversal(head);
  81.     }
  82. }
Add Comment
Please, Sign In to add comment