रेडिक्स हीप: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
रेडिक्स हीप [[मोनोटोन प्राथमिकता कतार]] के | रेडिक्स हीप [[मोनोटोन प्राथमिकता कतार|मोनोटोन प्राथमिकता क्यू]] के ऑपरेशन को साकार करने के लिए एक [[डेटा संरचना]] है। अवयवों का समूह जिसके लिए कुंजी निर्दिष्ट की गई है, उसे प्रबंधित किया जा सकता है। ऑपरेशन का रन टाइम सबसे बड़ी और सबसे छोटी कुंजी या स्थिरांक के बीच के अंतर पर निर्भर करता है। डेटा संरचना में मुख्य रूप से बकेट की श्रृंखला होती है, जिसका आकार तीव्रता से बढ़ता है। | ||
==आवश्यकताएँ== | ==आवश्यकताएँ== | ||
# सभी कुंजियाँ [[प्राकृतिक संख्या]]एँ हैं; | # सभी कुंजियाँ [[प्राकृतिक संख्या]]एँ हैं; | ||
# | # मैक्स. कुंजी - मिन. स्थिरांक C के लिए कुंजी <math>\le</math> C; | ||
# | # एक्सट्रैक्ट-मिन ऑपरेशन मोनोटोनिक है; अर्थात्, क्रमिक एक्स्ट्रैक्ट-मिन कॉल्स द्वारा लौटाए गए मान मोनोटोनिक रूप से बढ़ रहे हैं। | ||
==डेटा संरचना का विवरण== | ==डेटा संरचना का विवरण== | ||
तीन सबसे महत्वपूर्ण [[क्षेत्र (कंप्यूटर विज्ञान)]] हैं: | तीन सबसे महत्वपूर्ण [[क्षेत्र (कंप्यूटर विज्ञान)]] हैं: | ||
# | # आकार <math>B := \lfloor log(C+1)\rfloor + 1</math> का <math>b</math>, न्यूनतम सूचकांक के रूप में 0 के साथ, बकेट को संग्रहीत करता है; | ||
# <math> | # आकार <math>B+1</math> का <math>u</math>, न्यूनतम सूचकांक के रूप में 0 के साथ, बकेट की (निचली) सीमाओं को संग्रहीत करें; | ||
# <math>bNum</math>, प्रत्येक | # <math>bNum</math>, हीप में प्रत्येक अवयव <math>x</math> के लिए वह बकेट रखता है जिसमें वह संग्रहीत है। | ||
[[Image:RadixHeap1.png]] | [[Image:RadixHeap1.png]] | ||
उपरोक्त चित्र डेटा संरचना को दर्शाता है। निम्नलिखित अपरिवर्तनीय लागू होते हैं: | |||
# <math>b[i] < u[i+1]</math> में <math>u[i] \le</math> कुंजी: <math>b[i]</math> में कुंजियाँ <math>u[i+1]</math> या <math>u[i]</math> में मान के माध्यम से ऊपर या नीचे सीमित होती हैं। | |||
# <math>i = 1, \ldots, B-1</math> के लिए <math>u[0] = 0, u[1] = u[0] + 1, u[B] = \infty</math> और <math>0 \le u[i+1]-u[i] \le 2^{i-1}</math>: बकेट का आकार तीव्रता से बढ़ता है। | |||
सीमाओं की घातीय वृद्धि (और इस प्रकार बकेट की सीमा) पर ध्यान देना महत्वपूर्ण है। इस प्रकार क्षेत्र मात्राओं की लघुगणकीय निर्भरता मान C की होती है, जो दो प्रमुख मानों के बीच मैक्स अंतर है। | |||
==ऑपरेशन== | |||
आरंभीकरण के समय, रिक्त बकेट उत्पन्न होते हैं और निचली सीमा <math>u</math> उत्पन्न होती है (अपरिवर्तनीय 2 के अनुसार); संचालन समय <math>O(B)</math>। | |||
इन्सर्ट के समय, नवीन अवयव <math>x</math> बकेट के माध्यम से दाएं से बाएं ओर रैखिक रूप से ले जाया जाता है और <math>k(x)</math> वाला नवीन अवयव बाएं बकेट में उस <math>u[i] \ge k(x)</math>में संग्रहीत किया जाता है; संचालन समय <math>O(B)</math>। | |||
निम्न-कुंजी के लिए, पहले कुंजी मान घटाया जाता है (अपरिवर्तनीयों के अनुपालन की जाँच करना)। फिर <math>bNum</math> क्षेत्र का उपयोग अवयव का पता लगाने के लिए किया जाता है और यदि आवश्यक हो, तो इसे सम्मिलित ऑपरेशन के अनुरूप बाईं ओर दोहराया जाता है। संचालन समय <math>O(1)</math> (परिशोधन) है। | |||
यदि प्रदर्शित | एक्सट्रेक्ट-मिन ऑपरेशन बकेट <math>b[0]</math> से एक अवयव को हटाता है और उसे वापस कर देता है। यदि बकेट <math>b[0]</math> अभी तक रिक्त नहीं है, तो ऑपरेशन समाप्त हो गया है। यदि, तथापि, यह रिक्त है, तो अगली बड़ी गैर-रिक्त बकेट की खोज की जाती है, इसके सबसे छोटे अवयव <math>k</math> को ट्रैक किया जाता है और <math>u[0]</math> को k पर समूहित किया जाता है (इसके लिए मोनोटोनिसिटी आवश्यक है)। फिर, अपरिवर्तनीयों के अनुसार, बकेट की सीमाओं को फिर से परिभाषित किया जाता है और अवयवों को नवनिर्मित बकेट <math>b[i]</math> हटा दिया जाता है; संचालन का समय <math>O(1)</math> (परिशोधन)। | ||
यदि प्रदर्शित होता है, तो क्षेत्र <math>bNum</math> अपडेट किया जाता है। | |||
==संदर्भ== | ==संदर्भ== | ||
Revision as of 22:28, 23 July 2023
रेडिक्स हीप मोनोटोन प्राथमिकता क्यू के ऑपरेशन को साकार करने के लिए एक डेटा संरचना है। अवयवों का समूह जिसके लिए कुंजी निर्दिष्ट की गई है, उसे प्रबंधित किया जा सकता है। ऑपरेशन का रन टाइम सबसे बड़ी और सबसे छोटी कुंजी या स्थिरांक के बीच के अंतर पर निर्भर करता है। डेटा संरचना में मुख्य रूप से बकेट की श्रृंखला होती है, जिसका आकार तीव्रता से बढ़ता है।
आवश्यकताएँ
- सभी कुंजियाँ प्राकृतिक संख्याएँ हैं;
- मैक्स. कुंजी - मिन. स्थिरांक C के लिए कुंजी C;
- एक्सट्रैक्ट-मिन ऑपरेशन मोनोटोनिक है; अर्थात्, क्रमिक एक्स्ट्रैक्ट-मिन कॉल्स द्वारा लौटाए गए मान मोनोटोनिक रूप से बढ़ रहे हैं।
डेटा संरचना का विवरण
तीन सबसे महत्वपूर्ण क्षेत्र (कंप्यूटर विज्ञान) हैं:
- आकार का , न्यूनतम सूचकांक के रूप में 0 के साथ, बकेट को संग्रहीत करता है;
- आकार का , न्यूनतम सूचकांक के रूप में 0 के साथ, बकेट की (निचली) सीमाओं को संग्रहीत करें;
- , हीप में प्रत्येक अवयव के लिए वह बकेट रखता है जिसमें वह संग्रहीत है।
उपरोक्त चित्र डेटा संरचना को दर्शाता है। निम्नलिखित अपरिवर्तनीय लागू होते हैं:
- में कुंजी: में कुंजियाँ या में मान के माध्यम से ऊपर या नीचे सीमित होती हैं।
- के लिए और : बकेट का आकार तीव्रता से बढ़ता है।
सीमाओं की घातीय वृद्धि (और इस प्रकार बकेट की सीमा) पर ध्यान देना महत्वपूर्ण है। इस प्रकार क्षेत्र मात्राओं की लघुगणकीय निर्भरता मान C की होती है, जो दो प्रमुख मानों के बीच मैक्स अंतर है।
ऑपरेशन
आरंभीकरण के समय, रिक्त बकेट उत्पन्न होते हैं और निचली सीमा उत्पन्न होती है (अपरिवर्तनीय 2 के अनुसार); संचालन समय ।
इन्सर्ट के समय, नवीन अवयव बकेट के माध्यम से दाएं से बाएं ओर रैखिक रूप से ले जाया जाता है और वाला नवीन अवयव बाएं बकेट में उस में संग्रहीत किया जाता है; संचालन समय ।
निम्न-कुंजी के लिए, पहले कुंजी मान घटाया जाता है (अपरिवर्तनीयों के अनुपालन की जाँच करना)। फिर क्षेत्र का उपयोग अवयव का पता लगाने के लिए किया जाता है और यदि आवश्यक हो, तो इसे सम्मिलित ऑपरेशन के अनुरूप बाईं ओर दोहराया जाता है। संचालन समय (परिशोधन) है।
एक्सट्रेक्ट-मिन ऑपरेशन बकेट से एक अवयव को हटाता है और उसे वापस कर देता है। यदि बकेट अभी तक रिक्त नहीं है, तो ऑपरेशन समाप्त हो गया है। यदि, तथापि, यह रिक्त है, तो अगली बड़ी गैर-रिक्त बकेट की खोज की जाती है, इसके सबसे छोटे अवयव को ट्रैक किया जाता है और को k पर समूहित किया जाता है (इसके लिए मोनोटोनिसिटी आवश्यक है)। फिर, अपरिवर्तनीयों के अनुसार, बकेट की सीमाओं को फिर से परिभाषित किया जाता है और अवयवों को नवनिर्मित बकेट हटा दिया जाता है; संचालन का समय (परिशोधन)।
यदि प्रदर्शित होता है, तो क्षेत्र अपडेट किया जाता है।
संदर्भ
- B.V. Cherkassky, A.V. Goldberg, C. Silverstein: Buckets, Heaps, Lists and Monotone Priority Queues (Abstract), in: Proceedings of the Eight Annual ACM-SIAM Symposium on Discrete Algorithms. January 1997, pp. 83-92.