पेयरिंग हीप को अपेक्षाकृत आसान कार्यान्वयन और शानदार व्यावहारिक परिशोधन प्रदर्शन के साथ हीप डेटा संरचना के प्रकार के रूप में परिभाषित किया गया है।
पेयरिंग हीप्स हीप-आर्डर्ड मल्टीवे ट्री संरचनाएं हैं, और इन्हें सरलीकृत फाइबोनैचि हीप्स के रूप में दर्शाया जा सकता है।
प्राइम के एमएसटी एल्गोरिथम जैसे एल्गोरिदम को लागू करने के लिए उन्हें "मजबूत विकल्प" माना जाता है, और निम्नलिखित संचालन (मिन-हीप मानते हुए) का समर्थन करते हैं -
- ढूंढें-मिनट - यह फ़ंक्शन हीप के शीर्ष तत्व को वापस करने के लिए जिम्मेदार है।
- मिला -यह फ़ंक्शन दो मूल तत्वों की तुलना करने के लिए ज़िम्मेदार है, परिणाम का मूल जितना छोटा रहता है, उतना बड़ा तत्व और उसके उपप्रकार को इस रूट के बच्चे के रूप में जोड़ा जाता है।
- सम्मिलित करें - यह फ़ंक्शन सम्मिलित तत्व के लिए एक नया हीप बनाने और मूल हीप में मिलाने के लिए ज़िम्मेदार है।
- घटा-कुंजी (वैकल्पिक) - यह फ़ंक्शन कम की जाने वाली कुंजी पर निहित सबट्री को हटाने के लिए ज़िम्मेदार है, कुंजी को एक छोटी कुंजी से बदलें, फिर परिणाम को वापस ढेर में मिलाएं।
- डिलीट-मिनट - यह फ़ंक्शन जड़ को हटाने और एक पेड़ के रहने तक इसके उपप्रकारों के बार-बार मेल करने के लिए जिम्मेदार है। विभिन्न विलय रणनीतियां कार्यरत हैं।
- प्रत्येक नोड में बाएं बच्चे की ओर एक सूचक होता है और बायां बच्चा बच्चे के अगले भाई की ओर इशारा करता है।
- पेयरिंग हीप का उदाहरण नीचे दिया गया है -
ढेर के समय की जटिलता का विश्लेषण मुख्य रूप से स्प्ले पेड़ों से प्रेरित था। प्रति डिलीट-मिनट के परिशोधन समय को ओ (लॉग एन) के रूप में माना जाता है, और संचालन ओ (1) परिशोधित समय में फाइंड-मिन, मेल्ड और इंसर्ट रन होता है।