लाल-काले वृक्ष की कल्पना करो। क्या हमेशा प्रविष्टि और विलोपन का एक क्रम है जो इसे बनाता है?


41

आइए लाल-काले पेड़ की निम्न परिभाषा को मानें:

  1. यह एक द्विआधारी खोज पेड़ है।
  2. प्रत्येक नोड लाल या काले रंग का होता है। जड़ काली है।
  3. एक किनारे से जुड़े दो नोड्स एक ही समय में लाल नहीं हो सकते।
  4. यहां एक NIL पत्ती की अच्छी परिभाषा होनी चाहिए, जैसे विकि पर। NIL का पत्ता काले रंग का है।
  5. रूट से किसी भी NIL पत्ती में काले नोड्स की समान संख्या होती है।


सवाल

मान लीजिए कि आपने लाल-काले पेड़ के लिए संचालन insertऔर deleteसंचालन को लागू किया है । अब, यदि आपको एक वैध लाल-काला पेड़ दिया जाता है, तो क्या हमेशा इसका निर्माण insertऔर deleteसंचालन होता है?


प्रेरणा

यह सवाल इस सवाल से और इस सवाल से चर्चा से प्रेरित है ।

व्यक्तिगत रूप से, मेरा मानना ​​है कि यदि आप केवल काले नोड्स से युक्त एक वैध लाल-काले पेड़ की कल्पना करते हैं (जिसका अर्थ है कि आप एक पूरी तरह से संतुलित पेड़ की कल्पना कर रहे हैं), insertऔर deleteइसका निर्माण करने वाले कार्यों का एक क्रम है। तथापि,

  1. मुझे नहीं पता कि इसे कैसे सही साबित किया जाए
  2. मुझे अधिक सामान्य मामले में भी दिलचस्पी है

आपका प्रश्न थोड़ा गोलाकार लगता है ... डालने और हटाने के किसी भी ऑपरेशन में लाल-काले पेड़ का निर्माण होगा ... शाब्दिक रूप से कुछ भी, चूंकि लाल-काला केवल एक परिभाषा है। क्या आपका प्रश्न एक विशुद्ध रूप से काले पेड़ तक सीमित है?
जोक्स

2
नहीं, मुझे लगता है कि आप गलत समझते हैं। बेशक, आवेषण का कोई भी सेट और हटाता है कुछ लाल-काले पेड़ का निर्माण करता है। सवाल यह है: कोई भी पेड़ है जो आवेषण के कुछ अनुक्रम द्वारा रचनात्मक परिभाषा को फिट बैठता है और हटाता है? यदि आपको कुछ पेड़ दिए गए हैं, तो क्या आप आवेषण के एक क्रम को फिर से बना सकते हैं और हटा सकते हैं?
अलिसियानो

2
insertdelete(h+2)2h1h2h+11h2h1h

1
@AntonTrunov आपको धन्यवाद, मुझे समझ में आया। हालांकि एक सामान्य रेड-ब्लैक ट्री के मामले के बारे में कैसे? आपको क्या लगता है, क्या किसी भी रेड-ब्लैक ट्री का निर्माण insertऔर deleteसंचालन संभव है?
अलिसियानो

2
क) जवाब के सटीक कार्यान्वयन पर निर्भर करेगा insertऔर delete; इन ऑपरेशनों को करने के कई तरीके हो सकते हैं। बी) चूंकि आरबी पेड़ अनिवार्य रूप से क्रम 4 के बी-पेड़ हैं, इसलिए कोई भी प्रेरणा के लिए वहां देख सकता है। विवरण आरबी से बी (और / या पीछे की ओर) की मैपिंग के बाद से मुश्किल साबित हो सकता है, अद्वितीय नहीं है।
राफेल

जवाबों:


2

लाल-काले पेड़ में डालने और हटाने के कार्यों में लाल-काले गुणों को बनाए रखने के लिए आवश्यक संतुलन शामिल है।

गैर (बाएं- या दाएं) लाल लाल पेड़ों को झुकाव के साथ समस्या यह है कि मूल हटाने या सम्मिलित करने के बाद लाल-कालापन बहाल करने के कई तरीके हैं।
यह पेड़ को बदलने वाला इन्सर्ट या डिलीट नहीं है, बल्कि पेड़ के लाल कालेपन को बनाए रखने / पुनर्स्थापित करने के लिए बाद में होने वाला असंतुलन और घुमाव होता है।

लाल-काले वृक्ष का मूल विवरण यह नहीं बताता है कि कौन से संभावित मार्ग हैं।
यह पता लगाना संभव नहीं है कि किसी दिए गए लाल काले पेड़ को कैसे ठीक किया जाए , क्योंकि पुनर्संतुलन को निर्धारक नहीं होना चाहिए।

यह बाईं ओर झुकाव वाले लाल काले पेड़ों के साथ 'हल' किया गया है।
संतुलन बनाने का केवल एक ही तरीका है। तो किसी भी झुके हुए लाल काले पेड़ को आवेषण और हटाने के उपयोग से फिर से संगठित किया जा सकता है, क्योंकि रीबैलेंसिंग / घुमाव विशिष्ट निर्धारक तरीके से किए जाते हैं।

इसका मतलब यह नहीं है कि बाएं झुकाव वाले आरबी-पेड़ बेहतर या अधिक कुशल हैं, जो एक तरफ वे नियतात्मक संतुलन नियमों का उपयोग करके हासिल करते हैं, वे अधिक जटिल संतुलन कोड द्वारा दूसरे पर हारते हैं।


(h+2)2h1h2h+11h2h1h पेड़ की जड़ तक पहुंचने तक सबसे कम लाल परत होती है।

मुझे लगता है कि डे-स्टाउट-वॉरेन की तरह एक पूर्ण संतुलन एल्गोरिथ्म हालांकि अधिक कुशल होगा।


1
संचालन का उपयोग करके insertऔर deleteसीएलआरएस पुस्तक से आप केवल काले नोड्स से युक्त एक वैध आरबी पेड़ का निर्माण कर सकते हैं । चाल जरूरत से ज्यादा नोड्स डालने और फिर अत्यधिक हटाने के लिए है। एल्गोरिथ्म लाल नोड्स को समाप्त करेगा
एंटोन ट्रूनोव

@AntonTrunov, क्या आपके पास उस एल्गोरिथ्म के लिए एक लिंक है, इसे उत्तर में शामिल करना अच्छा होगा। मैं इसे अपने google-fu का उपयोग करके नहीं पा सकता।
जोहान

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

"यह" बाएं-झुके हुए लाल काले पेड़ों के साथ 'हल' हो गया है। " यहां तक ​​कि एक बाएं झुकाव वाले लाल काले पेड़ में समान वस्तुओं को संग्रहीत करने के कई तरीके हैं।
user239558
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.