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

मेल करने योग्य DEPQs


  • एक मेल करने योग्य DEPQ (MDEPQ) को एक DEPQ (डबल एंडेड प्रायोरिटी क्यू) के रूप में परिभाषित किया गया है, जिसमें ऊपर सूचीबद्ध DEPQ संचालन के अलावा, ऑपरेशन मेल्ड (p, q) शामिल है ... DEPQs p और q को इसमें मिलाता है एक एकल डीईपीक्यू। डबल-एंडेड प्राथमिकता कतार p और q को मिलाने का परिणाम एकल डबल-एंडेड प्राथमिकता कतार है जिसमें p और q के सभी तत्व शामिल हैं। मेल्ड ऑपरेशन विनाशकारी है कि मेल्ड के बाद, पी और क्यू स्वतंत्र डीईपीक्यू के रूप में नहीं रहते हैं।
  • रैखिक समय से कम समय में दो डीईपीक्यू को मिलाने के लिए, यह आवश्यक है कि डीईपीक्यू को स्पष्ट पॉइंटर्स (ढेर के सरणी प्रतिनिधित्व के रूप में निहित के बजाय) को लागू करने का प्रतिनिधित्व किया जाए, अन्यथा तत्वों की एक रैखिक संख्या को स्थानांतरित करने के लिए आवश्यक है उनके अंतिम स्थानों के लिए उनका प्रारंभिक।
  • यह दिखाया जा सकता है कि जब न्यूनतम-अधिकतम जोड़ी ढेर को इस तरह से दर्शाया जाता है, तो एक तत्व (n का आकार) DEPQ को दूसरे तत्व (k का आकार) (जहाँ k<=n) O में मिलाया जा सकता है (लॉग (एन/के) * लॉग के) समय।
  • यह दिखाया जा सकता है कि आकार a और b के दो न्यूनतम-अधिकतम ढेरों को क्रमशः मिलाने की जटिलता Ω(a + b) है।
  • एक MDEPQ कार्यान्वयन जो किसी को न्यूनतम और अधिकतम तत्वों की गणना करने, एक तत्व सम्मिलित करने और O(1) समय में दो प्राथमिकता कतारों को मिलाने की अनुमति देता है। न्यूनतम या अधिकतम तत्व को हटाने के लिए आवश्यक समय O(log n) है।
  • यह दिखाया जा सकता है कि वामपंथी पेड़ों को MDEPQs के लिए एक सरल प्रतिनिधित्व प्राप्त करने के लिए अनुकूलित किया जा सकता है जिसमें मेल्ड लॉगरिदमिक समय की खपत करता है और शेष संचालन में समान स्पर्शोन्मुख जटिलता होती है जब उपरोक्त किसी भी DEPQ अभ्यावेदन को लागू किया जाता है।
  • यह ध्यान रखना दिलचस्प है कि यदि हम आधार MPQ संरचना के रूप में FMPQ (फास्ट मेल्डेबल प्रायोरिटी क्यू) संरचना को लागू करते हैं, तो हमें कुल पत्राचार MDEPQ संरचना प्राप्त होती है जिसमें removeMax और removeMin लॉगरिदमिक समय का उपभोग करते हैं, और शेष संचालन निरंतर खपत करते हैं समय। दोहरी प्राथमिकता कतार अनुकूलन की तुलना में यह अनुकूलन उत्कृष्ट है क्योंकि अंतरिक्ष की आवश्यकताएं लगभग आधी हैं। इसके अतिरिक्त, कुल पत्राचार अनुकूलन दोहरी प्राथमिकता कतार अनुकूलन की तुलना में तेज़ है।

  1. सी . में लिंक्ड सूची का उपयोग कर प्राथमिकता कतार

    हमें डेटा और प्राथमिकता एक पूर्णांक मान के रूप में दी जाती है और कार्य दी गई प्राथमिकता के अनुसार एक लिंक्ड सूची बनाना और परिणाम प्रदर्शित करना है। Queue एक FIFO डेटा संरचना है जिसमें जो तत्व पहले डाला जाता है वह सबसे पहले निकाला जाता है। प्राथमिकता कतार एक प्रकार की कतार है जिसमें प्राथमिकता के आध

  1. दोहरी प्राथमिकता कतार

    सिंगल-एंडेड प्रायोरिटी क्यू (PQ) डेटा संरचनाओं से कुशल DEPQ (डबल एंडेड प्रायोरिटी क्यू) डेटा संरचनाओं तक पहुंचने के लिए सामान्य तरीकों का अस्तित्व, जो रिमूव (bNode) ऑपरेशन का एक कुशल कार्यान्वयन भी प्रदान करता है (यह ऑपरेशन नोड bNode को समाप्त करता है) पी क्यू)। इन विधियों में से सबसे सरल, दोहरी संर

  1. डीईपीक्यू के लिए सामान्य तरीके

    दोहरी ढेर सिंगल-एंडेड प्रायोरिटी क्यू (PQ) डेटा संरचनाओं से कुशल DEPQ (डबल एंडेड प्रायोरिटी क्यू) डेटा संरचनाओं पर पहुंचने के लिए सामान्य तरीकों का अस्तित्व, जो रिमूव (एनोड) ऑपरेशन का एक कुशल कार्यान्वयन भी प्रदान करता है (यह ऑपरेशन नोड एनोड को समाप्त करता है) पी क्यू)। इन विधियों में सबसे सरल, दोह