Given a binary search tree which is also a complete binary tree. The problem is to convert the given BST into a Min Heap with the condition that all the values in the left subtree of a node should be less than all the values in the right subtree of the node. This condition is applied on all the nodes in the so converted Min Heap.
Input : 4 / \ 2 6 / \ / \ 1 3 5 7 Output : 1 / \ 2 5 / \ / \ 3 4 6 7 The given BST has been transformed into a Min Heap. All the nodes in the Min Heap satisfies the given condition, that is, values in the left subtree of a node should be less than the values in the right subtree of the node.
- Create an array arr of size n, where n is the number of nodes in the given BST.
- Perform the inorder traversal of the BST and copy the node values in the arr in sorted order.
- Now perform the preorder traversal of the tree.
- While traversing the root during the preorder traversal, one by one copy the values from the array arr to the nodes.
Preorder Traversal: 1 2 3 4 5 6 7
Time Complexity: O(n)
Auxiliary Space: O(n)
This article is contributed by Ayush Jauhari. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Convert min Heap to max Heap
- Convert BST to Max Heap
- Convert BST into a Min-Heap without using array
- Heap Sort for decreasing order using min heap
- K-ary Heap
- Skew Heap
- Binomial Heap
- Weak Heap
- Min Heap in Python
- Pairing Heap
- Max Heap in Java
- Max Heap in Python
- K’th Least Element in a Min-Heap
- Binary Heap
- C++ Program for Heap Sort
- Where is Heap Sort used practically?
- Implementation of Binomial Heap
- Print all nodes less than a value x in a Min Heap.
- Building Heap from Array
- Maximum element in min heap
Improved By : PranchalKatiyar