Find Maximum Element in Binary Tree in Java

If you want to practice data structure and algorithm programs, you can go through 100+ java coding interview questions.

1. Overview

In this article, we will explore how to find the maximum element in a binary tree in Java using recursive and iterative solutions.

2. Introduction to Problem Statement

Given a binary tree as below:




Maximum element in binary tree is: 70
Our goal is to find an efficient method to traverse the tree and find this maximum value.

3. Implementation

There can be two solutions for it:

  • Recursive
  • Iterative

3.1 Recursive

Steps for getting maximum element in binary tree:
  • Find maximum element in left subtree.
  • Find maximum element in right subtree.
  • Compare maximum of above subtrees to current node.
  • We will find maximum element with the above steps.

Code for recursion will be:

Time Complexity: O(n), where n is the number of nodes, as it visits each node exactly once.
Space Complexity: O(h), where h is the height of the tree, due to the recursion stack.

3.2 Iterative

Iterative solution will be similar to level order traversal. When we are popping an element from queue, we will check max.

Code for iteration will be :

Time Complexity: O(n), similar to the recursive solution.
Space Complexity: O(h), but since it’s iterative, it avoids the potential stack overflow issue.

4. Complete Java Program

Let’s say our binary tree is:


Here is a complete Java program to find the max element in binary tree:
Run the above program, and you will get the following output:

5. Conclusion

In this article, we covered about how to find maximum element in binary tree. We have done traversal using two approaches: Iterative and Recursive. We also discussed about time and space complexity for the solutions.
Java Binary tree tutorial:

Please go through java interview programs for more such programs.

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *