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

C++ में मिन हीप में अधिकतम तत्व


समस्या कथन

एक मिनिमम हीप दिया गया है, उसमें अधिकतम तत्व ढूंढें।

उदाहरण

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

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. - C++ प्रोग्राम: मैट्रिक्स की प्रत्येक पंक्ति का अधिकतम तत्व ज्ञात करना

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

  1. - C++ प्रोग्राम: मैट्रिक्स के प्रत्येक कॉलम का अधिकतम तत्व ज्ञात करना

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

  1. - C++ प्रोग्राम: मिन हीप इम्प्लीमेंटेशन

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