Given a binary tree. The task is to find out the maximum and minimum element in a binary tree without using recursion or stack or queue i.e, space complexity should be O(1).
Input : 12 / \ 13 10 / \ 14 15 / \ / \ 21 24 22 23 Output : Max element : 24 Min element : 10 Input : 12 / \ 19 82 / / \ 41 15 95 \ / / \ 2 21 7 16 Output : Max element : 95 Min element : 2
Prerequisite : Inorder Tree Traversal without recursion and without stack
1. Initialize current as root
2. Take to variable max and min
3. While current is not NULL
- If the current does not have left child
- Update variable max and min with current’s data if required
- Go to the right, i.e., current = current->right
Make current as the right child of the rightmost
node in current’s left subtree
- Go to this left child, i.e., current = current->left
- Make current as the right child of the rightmost
Below is the implementation of the above approach :
Max Value is : 25 Min Value is : 3
Space complexity: O(1)
- Find Maximum Level Sum in Binary Tree using Recursion
- Find the node with minimum value in a Binary Search Tree using recursion
- Find the node with maximum value in a Binary Search Tree using recursion
- Sum and Product of maximum and minimum element in Binary Tree
- Sum and Product of minimum and maximum element of Binary Search Tree
- Postorder traversal of Binary Tree without recursion and without stack
- Inorder Non-threaded Binary Tree Traversal without Recursion or Stack
- Find maximum (or minimum) in Binary Tree
- Find the Deepest Node in a Binary Tree Using Queue STL - SET 2
- Inorder Tree Traversal without recursion and without stack!
- Minimum and maximum node that lies in the path connecting two nodes in a Binary Tree
- Convert a Binary Tree to Threaded binary tree | Set 1 (Using Queue)
- Find the closest element in Binary Search Tree
- Find Minimum Depth of a Binary Tree
- Find maximum among all right nodes in Binary Tree
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.