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

नरम ढेर

एक सॉफ्ट हीप को सरल हीप डेटा संरचना पर भिन्नता के रूप में परिभाषित किया जाता है जिसमें 5 प्रकार के संचालन के लिए निरंतर परिशोधन समय होता है। यह ध्यान से "भ्रष्ट" (बढ़ते) ढेर में अधिकतम एक निश्चित संख्या के मूल्यों की कुंजी द्वारा प्राप्त किया जाता है। निरंतर समय संचालन हैं -

  • बनाएं − एक नया सॉफ्ट हीप बनाएं
  • सम्मिलित करें, y) - एक तत्व y को एक नरम ढेर s में डालें
  • मेल्ड (एस, एस' ) दो नरम ढेर s और s′ एक में, दोनों को नष्ट करना
  • हटाएं(ओं, y) - सॉफ्ट हीप s से y एलिमेंट को डिलीट करें
  • ढूंढें (ढूंढें) - सॉफ्ट हीप में कम से कम कुंजी वाला तत्व प्राप्त करें
  • अन्य ढेर जैसे फाइबोनैचि ढेर बिना किसी भ्रष्टाचार के इनमें से अधिकतर सीमाओं को प्राप्त करते हैं, लेकिन महत्वपूर्ण हटाने के संचालन पर निरंतर समयबद्धता प्रदान नहीं कर सकते हैं। भ्रष्टाचार की मात्रा को एक पैरामीटर ε की पसंद से नियंत्रित किया जा सकता है, लेकिन यह जितना कम सेट किया जाता है, उतनी ही अधिक समय प्रविष्टि की आवश्यकता होती है (ε की त्रुटि दर के लिए O(log 1/ε)।
  • अधिक सटीक रूप से, सॉफ्ट हीप द्वारा दी जाने वाली गारंटी निम्नलिखित है:0 और 1/2 के बीच एक निश्चित मान के लिए, किसी भी समय ढेर में अधिकतम ε*m दूषित कुंजियाँ होंगी, जहाँ m है सम्मिलित या दूषित तत्वों की संख्या W. हम गारंटी नहीं दे सकते कि वर्तमान में चाबियों का केवल एक निश्चित प्रतिशत है ढेर में भ्रष्ट या बढ़ गए हैं:सम्मिलन और विलोपन के अवांछित अनुक्रम में, ऐसा हो सकता है कि ढेर में सभी तत्वों में वृद्धि या दूषित कुंजी होगी। उसी स्थिति में, इस बात की कोई गारंटी नहीं है कि ढेर से निकाले गए तत्वों के अनुक्रम में findmin के साथ और हटाएं, केवल एक निश्चित प्रतिशत में दूषित या बढ़ी हुई कुंजियाँ होंगी:एक अशुभ परिदृश्य में केवल दूषित या बढ़े हुए तत्व हीप से निकाले जाते हैं।
  • अपनी सीमाओं और अप्रत्याशित प्रकृति के बावजूद, नरम ढेर नियतात्मक एल्गोरिदम के डिजाइन के लिए उपयोगी होते हैं। उन्हें न्यूनतम फैले हुए पेड़ को निर्धारित करने के लिए अब तक की सबसे अच्छी जटिलता प्राप्त करने के लिए लागू किया गया था। उन्हें केवल एक इष्टतम चयन एल्गोरिदम, और निकट-क्रमबद्ध एल्गोरिदम बनाने के लिए भी कार्यान्वित किया जा सकता है, जो एल्गोरिदम हैं जो प्रत्येक तत्व को अपनी अंतिम स्थिति के करीब सेट करते हैं, ऐसी स्थिति जिसमें सम्मिलन क्रम तेज़ होता है।

  1. सममित न्यूनतम-अधिकतम ढेर

    एक सममित न्यूनतम-अधिकतम ढेर (SMMH) को एक पूर्ण बाइनरी ट्री के रूप में परिभाषित किया गया है जिसमें रूट को छोड़कर प्रत्येक नोड में ठीक एक तत्व होता है। SMMH का रूट खाली होना चाहिए और SMMH में नोड्स की कुल संख्या m + 1 है, जहाँ m तत्वों की संख्या है। मान लीजिए y SMMH का कोई नोड है। मान लें कि तत्व (y)

  1. पेयरिंग हीप्स की विविधताएं

    एक जोड़ीदार ढेर या तो एक खाली ढेर हो सकता है, या एक जोड़ीदार पेड़ हो सकता है जिसमें मूल तत्व होता है और संभवतः पेड़ों की जोड़ी की खाली सूची होती है। हीप ऑर्डरिंग प्रॉपर्टी के लिए जरूरी है कि किसी भी नोड का पैरेंट नोड से बड़ा न हो। निम्नलिखित विवरण एक विशुद्ध रूप से कार्यात्मक ढेर पर विचार करता है

  1. ढेर जोड़ना

    पेयरिंग हीप को अपेक्षाकृत आसान कार्यान्वयन और शानदार व्यावहारिक परिशोधन प्रदर्शन के साथ हीप डेटा संरचना के प्रकार के रूप में परिभाषित किया गया है। पेयरिंग हीप्स हीप-आर्डर्ड मल्टीवे ट्री संरचनाएं हैं, और इन्हें सरलीकृत फाइबोनैचि हीप्स के रूप में दर्शाया जा सकता है। प्राइम के एमएसटी एल्गोरिथम जैसे ए