यह उत्तर मेरी कुछ टिप्पणियों को प्रश्न से जोड़ता है और उनका विस्तार करता है।
लाल-काले पेड़ों पर सुव्यवस्थित संचालन सबसे खराब स्थिति ओ (लॉग एन) समय में किया जा सकता है, जहां मूल पेड़ में एन तत्वों की संख्या है। चूंकि परिणामस्वरूप पेड़ मूल पेड़ के साथ कुछ नोड्स साझा करेगा, यह दृष्टिकोण केवल तभी उपयुक्त है जब पेड़ अपरिवर्तनीय हैं (या पेड़ परस्पर हैं लेकिन मूल पेड़ की अब आवश्यकता नहीं है)।
पहले नोटिस करें कि दो अलग-अलग ऑपरेशनों से सबरेंज ऑपरेशन को लागू किया जा सकता है। यहां विभाजन ऑपरेशन एक लाल-काले पेड़ टी और एक कुंजी x लेता है और दो पेड़ एल और आर का उत्पादन करता है जैसे कि एल में एक्स से कम टी के सभी तत्व होते हैं और एक्स से अधिक टी के तत्व होते हैं। इसलिए, अब हमारा लक्ष्य सबसे खराब स्थिति वाले ओ (लॉग एन) समय में लाल-काले पेड़ों पर विभाजन ऑपरेशन को लागू करना है।
ओ (लॉग एन) समय में लाल-काले पेड़ों पर विभाजन ऑपरेशन कैसे करते हैं? खैर, यह पता चला कि एक प्रसिद्ध विधि थी। (मुझे यह नहीं पता था, लेकिन मैं डेटा संरचनाओं का कोई विशेषज्ञ नहीं हूं।) उस जुड़ने वाले ऑपरेशन पर विचार करें , जिसमें दो पेड़ L और R लगते हैं, जैसे L का प्रत्येक मान R के प्रत्येक मान से कम है और एक पेड़ से मिलकर बनता है। L और R में मान शामिल हैं। ऑपरेशन को सबसे खराब स्थिति में लागू किया जा सकता है O ((r r L Rr R | +1), जहाँ r L और r R |क्रमशः एल और आर के रैंक हैं, (जो रूट से प्रत्येक पत्ती के मार्ग पर काले नोड्स की संख्या है)। स्प्लिट ऑपरेशन को ज्वाइन ऑपरेशन O (लॉग एन) समय का उपयोग करके लागू किया जा सकता है, और टेलीस्कोपिंग योग पर विचार करके अभी तक का सबसे खराब-केस टाइम O (लॉग एन) है।
टार्जन द्वारा एक पुस्तक [टार 83] के खंड ४.१ और ४.२ का वर्णन है कि कैसे सबसे खराब समय ओ (लॉग एन) में लाल-काले पेड़ों पर शामिल होने और विभाजन के संचालन को लागू करना है। ये कार्यान्वयन मूल पेड़ों को नष्ट कर देते हैं, लेकिन उन्हें संशोधित करने के बजाय नोड्स की नकल करके उन्हें अपरिवर्तनीय, कार्यात्मक कार्यान्वयन में बदलना आसान है।
एक साइड नोट के रूप में, सेट और मैप मोड ऑफ़ ऑब्जेक्टिव कैमल विभाजित ऑपरेशन के साथ-साथ अन्य मानक संचालन (अपरिवर्तनीय) संतुलित बाइनरी सर्च ट्री पर प्रदान करते हैं। हालांकि वे लाल-काले पेड़ों का उपयोग नहीं करते हैं (वे बाधा के साथ संतुलित द्विआधारी खोज पेड़ों का उपयोग करते हैं कि बाईं ऊंचाई और दाईं ऊंचाई अधिकतम 2 से भिन्न होती है), उनके कार्यान्वयन को देखते हुए उपयोगी भी हो सकता है। यहाँ सेट मॉड्यूल का कार्यान्वयन है ।
संदर्भ
[Tar83] रॉबर्ट एंड्रे टार्जन। डेटा संरचनाएं और नेटवर्क एल्गोरिदम । एप्लाइड मैथमेटिक्स , SIAM, 1983 में CBMS-NSF क्षेत्रीय सम्मेलन श्रृंखला का खंड 44 ।