- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Maximum element in min heap in C++
Problem statement
Given a minimum heap find maximum element in that.
Example
If input heap is −
Then maximum element is 55
Algorithm
- In minimum heap parent node will be lesser than its children. Hence we can conclude that a non-leaf node cannot be the maximum.
- Search maximum element in the leaf nodes
Example
Let us now see an example −
#include <bits/stdc++.h> using namespace std; int getMaxElement(int *heap, int n) { int maxVal = heap[n / 2]; for (int i = n / 2 + 1; i < n; ++i) { maxVal = max(maxVal, heap[i]); } return maxVal; } int main() { int heap[] = {15, 27, 22, 35, 29, 55, 48}; int n = sizeof(heap) / sizeof(heap[0]); cout << "Maximum element = " << getMaxElement(heap, n) << endl; return 0; }
Output
Maximum element = 55
Advertisements