Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में न्यूनतम ढेर में अधिकतम तत्व

समस्या कथन

न्यूनतम ढेर को देखते हुए उसमें अधिकतम तत्व खोजें।

उदाहरण

यदि इनपुट हीप है -

सी ++ में न्यूनतम ढेर में अधिकतम तत्व

तब अधिकतम तत्व 55

. है

एल्गोरिदम

  • न्यूनतम हीप में पैरेंट नोड अपने बच्चों से छोटा होगा। इसलिए हम यह निष्कर्ष निकाल सकते हैं कि एक गैर-पत्ती नोड अधिकतम नहीं हो सकता।
  • लीफ नोड्स में अधिकतम तत्व खोजें

उदाहरण

आइए अब एक उदाहरण देखें -

#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;
}

आउटपुट

Maximum element = 55

  1. सी ++ में मैट्रिक्स में प्रत्येक पंक्ति का अधिकतम तत्व खोजें

    मान लें कि हमारे पास एक मैट्रिक्स है, हमारा कार्य उस मैट्रिक्स की प्रत्येक पंक्ति के अधिकतम तत्व को खोजना और उन्हें प्रिंट करना है। यह कार्य सरल है। प्रत्येक पंक्ति के लिए, अधिकतम रीसेट करें, और अधिकतम तत्व ढूंढें, और इसे प्रिंट करें। आइए बेहतर समझ के लिए कोड देखें। उदाहरण #include<iostream> #

  1. सी ++ में मैट्रिक्स में प्रत्येक कॉलम का अधिकतम तत्व खोजें

    मान लें कि हमारे पास एक मैट्रिक्स है, हमारा काम उस मैट्रिक्स के प्रत्येक कॉलम के अधिकतम तत्व को ढूंढना और उन्हें प्रिंट करना है। यह कार्य सरल है। प्रत्येक कॉलम के लिए, अधिकतम रीसेट करें, और अधिकतम तत्व ढूंढें, और इसे प्रिंट करें। आइए बेहतर समझ के लिए कोड देखें। उदाहरण #include<iostream> #defin

  1. न्यूनतम ढेर को लागू करने के लिए C++ कार्यक्रम

    एक बाइनरी हीप एक पूर्ण बाइनरी ट्री है जो या तो मिन हीप या मैक्स हीप है। मैक्स बाइनरी हीप में, रूट की कुंजी बाइनरी हीप में मौजूद सभी कुंजियों के बीच अधिकतम होनी चाहिए। यह गुण बाइनरी ट्री में सभी नोड्स के लिए पुनरावर्ती रूप से सत्य होना चाहिए। मिन बाइनरी हीप मिन हीप के समान है। एल्गोरिदम min_heap() क