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

डेटा स्ट्रक्चर में स्प्ले ट्री

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

मान लें कि प्रत्येक नोड a के लिए, हम एक वास्तविक संख्या कुंजी (a) संग्रहीत करते हैं।

किसी भी बाइनरी सर्च ट्री में किसी भी नोड के बाएं उपट्री में कुंजी (ए) के मूल्य से कम "कुंजी" मान वाले आइटम होते हैं और नोड के दाएं उपट्री में कुंजी (ए) के मूल्य से अधिक "कुंजी" मान वाले आइटम होते हैं। ।

स्प्ले ट्री में, हम पहले क्वेरी आइटम खोजते हैं, जैसे कि सामान्य बाइनरी सर्च ट्री में- क्वेरी आइटम की तुलना रूट में मान के साथ करें, यदि कम है तो बाएं सबट्री में रिकर्सिवली सर्च करें और यदि अधिक हो तो, रिकर्सिवली सर्च करें राइट सबट्री, और अगर यह बराबर है तो हम कर चुके हैं। फिर, अनौपचारिक रूप से बोलते हुए, हम लगातार पूर्वजों की प्रत्येक असंबद्ध जोड़ी को देखते हैं f a, कहते हैं b =parent(a) और c=parent(b), और कुछ निश्चित युग्म रोटेशन को पूरा करते हैं। इन घुमावों के परिणामस्वरूप, c के स्थान पर a आता है।

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

यदि a और b दोनों बाएँ हैं या दोनों अपने-अपने माता-पिता के दाएँ बच्चे हैं, तो हम पहले b और उसके पैरेंट c के बीच के किनारे को घुमाते हैं और फिर a और उसके जनक b के बीच के किनारे को घुमाते हैं। इस चरण को ज़िग-ज़िग चरण के रूप में दर्शाया गया है।

यदि a बाएँ (क्रमशः दाएँ) बच्चा है और b दाएँ (क्रमशः बाएँ) बच्चा है, तो हम पहले किनारे को a और b के बीच घुमाते हैं और फिर a और c के बीच, इस चरण को ज़िग-ज़ैग चरण के रूप में दर्शाया जाता है।

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

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

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

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

  1. डेटा संरचना में वर्चुअल ट्री में स्प्ले

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