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

डेटा संरचना में ठोस पेड़

दिए गए जंगल के लिए, हम दिए गए किनारों में से कुछ "धराशायी" बनाते हैं और बाकी को ठोस रखा जाता है। प्रत्येक गैर-पत्ती नोड अपने बच्चों में से केवल एक "ठोस" किनारे से जुड़ा होता है। अन्य सभी बच्चों को एक धराशायी किनारे की मदद से जोड़ा जाएगा।

अधिक ठोस होने के लिए, किसी दिए गए पेड़ में, सबसे दाहिनी कड़ी (उसके बच्चे के लिए) को ठोस रखा जाना चाहिए, और उसके अन्य बच्चों के लिए अन्य सभी लिंक "धराशायी" बनाए जाते हैं।

नतीजतन, पेड़ ठोस पथों के संग्रह में टूट जाएगा। धराशायी किनारे से ठोस पथ की जड़ें किसी अन्य ठोस पथ से जुड़ जाएंगी। "वर्चुअल ट्री" को दर्शाने वाली एक नई डेटा संरचना का निर्माण किया गया है। प्रत्येक जोड़ने और काटने वाले पेड़ T को एक आभासी पेड़ V द्वारा दर्शाया जाता है, जिसमें नोड्स का एक ही सेट होता है। लेकिन मूल पेड़ के प्रत्येक ठोस पथ को आभासी पेड़ में एक बाइनरी ट्री में संशोधित या परिवर्तित किया जाता है; बाइनरी पेड़ यथासंभव संतुलित हैं। इस प्रकार, एक आभासी पेड़ एक (ठोस) बाएं बच्चे, एक (ठोस) दाएं बच्चे और शून्य या अधिक (धराशायी) मध्यम बच्चों से जुड़ा होता है।

दूसरे शब्दों में, एक आभासी पेड़ में धराशायी किनारों से जुड़े ठोस बाइनरी पेड़ों का पदानुक्रम होता है। प्रत्येक नोड अपने माता-पिता और उसके बाएँ और दाएँ बच्चों के लिए एक सूचक से जुड़ा होता है।

हम जानते हैं कि प्रत्येक पथ एक बाइनरी ट्री में परिवर्तित हो जाता है। पथ में एक नोड (मान लीजिए पी) के माता-पिता (क्यू कहते हैं) ठोस पेड़ में उस नोड (पी) के क्रम में (सममित क्रम) उत्तराधिकारी है। हालाँकि, यदि p ठोस उप-वृक्ष में अंतिम नोड (सममित क्रम में) है तो इसका मूल पथ ठोस उप-वृक्ष की जड़ का मूल होगा।

Formally, Parentpath(v) =Node(Inorder(v)+ 1).

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

आगे बढ़ने के लिए हमें कुछ परिभाषाओं या संकेतन की आवश्यकता है।

मान लीजिए mincost(x) एक ही ठोस उप-वृक्ष में x के सभी वंशजों के बीच न्यूनतम कुंजी मान वाले नोड की लागत है।

फिर प्रत्येक नोड में हम दो फ़ील्ड लागत(x) और min(x) स्टोर करते हैं। हम परिभाषित करते हैं,

δmin(x) =cost(x)−mincost(x). And,
δcost(x) =cost(x)− cost(parent(x)) if x is associated with a solid parent
δcost(x) =cost(x) otherwise (x is treated as a solid tree root)

  1. डेटा संरचना में बाइनरी ट्री एडीटी

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

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

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

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

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