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

डेटा संरचना में रैंडमाइज्ड फिंगर सर्च ट्री

नियतात्मक खोज पेड़ों के दो यादृच्छिक विकल्प यादृच्छिक द्विआधारी खोज पेड़, ट्रेप्स और स्किप सूचियां हैं। ट्रैप और स्किप दोनों सूचियों को सुरुचिपूर्ण डेटा संरचनाओं के रूप में परिभाषित किया गया है, जहां रैंडमाइजेशन सरल और कुशल अद्यतन संचालन की सुविधा प्रदान करता है।

इस खंड में हम बताते हैं कि कैसे डेटा संरचनाओं को बदले बिना ट्रैप और स्किप सूचियों दोनों को कुशल फिंगर सर्च ट्री के रूप में लागू किया जा सकता है। दोनों डेटा संरचनाएं अपेक्षित O(log d) समय का उपभोग करके फिंगर खोजों का समर्थन करती हैं, जहां डेटा संरचना के निर्माण के दौरान एल्गोरिदम द्वारा बनाए गए यादृच्छिक विकल्पों पर अपेक्षाओं को लिया जाता है।

छोड़ें सूचियां

एक स्किप सूची में, कोई भी इस बिंदु से केवल खोज जारी रखते हुए तत्व बी युक्त नोड से तत्व की खोज कर सकता है। ध्यान दें कि यदि a b, तो खोज आगे की दिशा में आगे बढ़ती है। बैकवर्ड केस स्किप लिस्ट में सामान्य खोज के लिए सममित है, लेकिन फॉरवर्ड केस वास्तव में अधिक जटिल है। आम तौर पर, स्किप सूची में खोज तेज होने की उम्मीद है क्योंकि सूची की शुरुआत में प्रहरी को सबसे लंबा नोड माना जाता है। हालांकि, हमारी उंगली ऊंचाई 1 के नोड से जुड़ी हो सकती है। इस वजह से, हम खोज करने की कोशिश करते समय शायद ही कभी चढ़ सकते हैं; कुछ ऐसा जो सामान्य रूप से कभी नहीं होता। हालांकि, इस जटिलता के साथ भी, हम अपेक्षित खोज समय O(log d) प्राप्त करने में सक्षम हो सकते हैं।

ट्रेप्स

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


  1. डेटा संरचना में अंतराल पेड़

    इस खंड में हम देखेंगे कि अंतराल वृक्ष क्या है। जैसा कि नाम से पता चलता है कि अंतराल के पेड़ वे पेड़ हैं जो अंतराल से जुड़े होते हैं। तो अंतराल वृक्षों के बारे में चर्चा करने से पहले, आइए हम प्रारंभिक अंतराल देखें। एक अंतराल मूल रूप से एक सीमा है। इसलिए यदि एक अंतराल को [ए, बी] के रूप में लिखा जाता

  1. डेटा संरचना में बसपा पेड़

    कंप्यूटर विज्ञान में, बाइनरी स्पेस पार्टीशनिंग (बीएसपी) के रूप में जाना जाने वाला एक तरीका हाइपरप्लेन को विभाजन के रूप में लागू करके एक स्थान को दो उत्तल सेटों में पुनरावर्ती रूप से उप-विभाजित करने के लिए लागू किया जाता है। उप-विभाजन की यह प्रक्रिया एक पेड़ डेटा संरचना के रूप में क्षेत्र के भीतर वस्

  1. डेटा संरचना में पेड़ों की श्रेणी

    एक श्रेणी ट्री को बिंदुओं की सूची रखने के लिए एक आदेशित ट्री डेटा संरचना के रूप में परिभाषित किया गया है। यह किसी दी गई सीमा के भीतर सभी बिंदुओं को कुशलता से पुनर्प्राप्त करने की अनुमति देता है, और आमतौर पर दो या उच्च आयामों में लागू किया जाता है। O(logd . के तेज़ क्वेरी समय को छोड़कर यह kd-tree के