| 
   
//Iterative Way: Non-Recursive Way 
public class BinaryTreeMaxNodeElementIterativeModel { 
      class TreeNode { 
            TreeNode left, right; 
            int data; // considering integer data. 
            public TreeNode(int dataItem) { 
                 this.data = dataItem; 
                 left = null; 
                 right = null; 
           } 
      } 
       TreeNode root; 
       BinaryTreeMaxNodeElementIterativeModel(){ 
             root = null; 
       } 
       public int maxNodeElementBinaryTree(TreeNode
  root) { 
             int maxElement = 0; 
             if(root != null) { 
                    Queue<TreeNode>
  q = new LinkedList<TreeNode>(); 
                    q.offer(root); // Add root to queue. 
                    while(!q.isEmpty()) { 
                          TreeNode
  temp = q.poll(); // Remove an element from queue. 
                          if(temp.data > maxElement) { 
                                 maxElement = temp.data; 
                          } 
                          if(temp.left != null) { 
                                 q.offer(temp.left); 
                          } 
                          if(temp.right != null) { 
                                 q.offer(temp.right); 
                          } 
                    } 
             }             
             return maxElement;  
       } 
       void maxNodeElementBinaryTree(){ 
             int maxElement = maxNodeElementBinaryTree(root); 
             System.out.println("Count of Binary Tree = " + maxElement); 
       } 
       public static void main(String[] args) { 
             BinaryTreeMaxNodeElementIterativeModel
  binaryTreeMaxNodeElementIterativeModel = new BinaryTreeMaxNodeElementIterativeModel(); 
             binaryTreeMaxNodeElementIterativeModel.root = new TreeNode(1); 
             binaryTreeMaxNodeElementIterativeModel.root.left = new TreeNode(2); 
             binaryTreeMaxNodeElementIterativeModel.root.right = new TreeNode(3); 
             binaryTreeMaxNodeElementIterativeModel.root.left.left = new TreeNode(4); 
             binaryTreeMaxNodeElementIterativeModel.root.left.right = new TreeNode(5); 
             binaryTreeMaxNodeElementIterativeModel.root.right.left = new TreeNode(6); 
             binaryTreeMaxNodeElementIterativeModel.root.right.right = new TreeNode(7); 
              binaryTreeMaxNodeElementIterativeModel.maxNodeElementBinaryTree(); 
       } 
} 
 | 
 
Output : 7
Thanks..!!
good alogorithm code for finding max element & good technology blog
ReplyDeleteNice Post! Thanks for sharing such an amazing article, really informative, it helps me a lot.
ReplyDelete1Z0-900: Java EE 7 Application Developer
ReplyDeleteHello! I want to say that this article is amazing, nice written and come with almost all vital Information. I would like to see more posts like this. Some Questions to Check How Serious Your Prospect is for Buying
ReplyDeleteI am is grateful for the article. I am really looking forward to reading more. Also read this..
5 Mistakes Beginner Web Developers Commit and How to Fix Them