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

C++ . में द्विपद हीप का स्मृति निरूपण

द्विपद वृक्ष क्या है?

द्विपद वृक्ष एक क्रमबद्ध वृक्ष डेटा संरचना है, मान लीजिए, B0 में एक एकल नोड होता है जबकि एक द्विपद वृक्ष को Bk के रूप में दर्शाया जाता है जिसमें दो द्विपद वृक्ष होते हैं अर्थात Bk-1 जो ​​एक साथ जुड़े होते हैं। एक द्विपद वृक्ष की जड़ दूसरे द्विपद वृक्ष की जड़ की सबसे बाईं संतान होती है। द्विपद वृक्ष का उपयोग ज्यादातर संपत्ति या स्टॉक के मौलिक और तकनीकी विश्लेषण के लिए किया जाता है।

द्विपद वृक्ष के नोड किसी संपत्ति के आंतरिक मूल्य का प्रतिनिधित्व करते हैं। यह निवेशकों या बाजारों के खरीदारों को निवेश के लिए सही समय और मूल्य का विश्लेषण करने में मदद करता है।

द्विपद ढेर क्या है?

द्विपद ढेर एक डेटा संरचना है जो कई द्विपद वृक्षों के संयोजन से बनती है।

बाइनरी हीप एच के गुण हैं-:

  • एच में प्रत्येक द्विपद वृक्ष ढेर-आदेशित है। इसलिए नोड की कुंजी उसके पैरेंट की कुंजी से बड़ी या उसके बराबर होती है।

  • H में अधिकतम एक द्विपद वृक्ष होता है, जिसकी जड़ की एक निश्चित मात्रा होती है।

बाइनरी हीप का उदाहरण है-:

C++ . में द्विपद हीप का स्मृति निरूपण

द्विपद हीप नोड का स्मृति प्रतिनिधित्व

बाइनरी हीप का प्रत्येक नोड 5 क्षेत्रों के साथ एक मेमोरी में प्रतिनिधित्व करता है यानी

  • अभिभावक सूचक -:यह पैरेंट नोड के पते को इस तरह से स्टोर करेगा कि इसे बाइनरी हीप स्ट्रक्चर में अन्य नोड्स से जोड़ा जाएगा।

  • कुंजी-: यह डेटा या कुंजी को संग्रहीत करेगा जो एक नोड धारण कर रहा है।

  • डिग्री-: यह बाइनरी हीप नोड की डिग्री या स्तर निर्दिष्ट करेगा।

  • बाएं चाइल्ड पॉइंटर-: यदि लागू हो तो यह बाएं नोड से कनेक्ट करने के लिए तत्काल बाएं बच्चे का पता संग्रहीत करेगा।

  • सिबलिंग पॉइंटर-: यह तत्काल भाई-बहन का पता संग्रहीत करेगा।

C++ . में द्विपद हीप का स्मृति निरूपण

उदाहरण के लिए-:

<एच2>1. एकल नोड स्मृति प्रतिनिधित्व

C++ . में द्विपद हीप का स्मृति निरूपण

2. माता-पिता और बच्चे के नोड मेमोरी प्रतिनिधित्व

C++ . में द्विपद हीप का स्मृति निरूपण

3. सिबलिंग नोड्स मेमोरी रिप्रेजेंटेशन

C++ . में द्विपद हीप का स्मृति निरूपण


  1. C++ में पेड़ का व्यास

    मान लीजिए कि हमारे पास एक अप्रत्यक्ष पेड़ है; हमें इसका व्यास ज्ञात करना है - उस पेड़ के सबसे लंबे पथ में किनारों की संख्या उस पेड़ का व्यास है। यहां पेड़ को किनारे की सूची के रूप में दिया गया है जहां किनारों [i] =[यू, वी] नोड्स यू और वी के बीच एक द्विदिश किनारा है। प्रत्येक नोड में सेट {0, 1, ...,

  1. C++ में बाइनरी ट्री प्रूनिंग

    मान लीजिए कि हमारे पास एक बाइनरी ट्री का हेड नोड रूट है, जहां अतिरिक्त रूप से प्रत्येक नोड का मान या तो 0 या 1 है। हमें वही ट्री ढूंढना है जहां प्रत्येक सबट्री जिसमें 1 नहीं है, को हटा दिया गया है। तो अगर पेड़ जैसा है - इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एक पुनरावर्ती विधि को

  1. सी ++ में द्विपद ढेर?

    द्विपद हीप को बाइनरी हीप के विस्तार के रूप में परिभाषित किया गया है जो बाइनरी हीप द्वारा प्रदान किए गए अन्य कार्यों के साथ तेजी से विलय या संघ संचालन प्रदान करता है। द्विपद ढेर को द्विपद वृक्षों के संग्रह के रूप में माना जाता है। द्विपद वृक्ष क्या है? क्रम k-1 के दो द्विपद वृक्षों को लेकर और एक क