सभी लाल-काले पेड़ संतुलित नहीं हैं?


30

सहज रूप से, "संतुलित पेड़" ऐसे पेड़ होने चाहिए जहां प्रत्येक नोड पर बाएं और दाएं उप-पेड़ के पास "लगभग समान" नोड्स होने चाहिए।

बेशक, जब हम लाल-काले पेड़ों के बारे में बात करते हैं * (अंत में परिभाषा देखें) संतुलित होने का मतलब है, हमारा वास्तव में मतलब है कि वे ऊंचाई संतुलित हैं और इस अर्थ में, वे संतुलित हैं।

मान लीजिए कि हम उपरोक्त अंतर्ज्ञान को औपचारिक रूप देने की कोशिश करते हैं:

परिभाषा: एक बाइनरी ट्री को -balanced कहा जाता है , जिसमें , यदि प्रत्येक नोड , असमानताμ0μ12N

μ|NL|+1|N|+11μ

धारण और प्रत्येक , कुछ नोड है जिसके लिए उपरोक्त कथन विफल रहता है। के बाएं उप-वृक्ष में नोड्स की संख्या है औरजड़ के रूप में (जड़ सहित) के साथ पेड़ के नीचे नोड्स की संख्या है ।μ>μ|NL|N|N|N

मेरा मानना ​​है, इस विषय पर कुछ साहित्य में इन्हें वजन-संतुलित पेड़ कहा जाता है ।

एक दिखा सकता है कि अगर नोड्स के साथ एक बाइनरी ट्री -balanced (एक स्थिर ) है, तो पेड़ की ऊंचाई , इस प्रकार यह अच्छी खोज को बनाए रखता है गुण।nμμ>0O(logn)

तो सवाल यह है:

क्या कुछ ऐसा है जो हर बड़े पर्याप्त लाल-काले पेड़ mu-असंतुलित है?μ>0μ


लाल-काले पेड़ों की परिभाषा जिसका हम उपयोग करते हैं (परिचय से एल्गोरिथ्म द्वारा कॉर्मेन एट अल):

एक बाइनरी सर्च ट्री, जहां प्रत्येक नोड लाल या काले रंग का होता है और

  • जड़ काली है
  • सभी NULL नोड्स काले हैं
  • यदि एक नोड लाल है, तो उसके दोनों बच्चे काले हैं।
  • प्रत्येक नोड के लिए, उस नोड से वंशज NULL नोड्स के सभी रास्तों पर समान संख्या में ब्लैक नोड्स होते हैं।

नोट: हम ऊपर -balanced की परिभाषा में NULL नोड्स की गणना नहीं करते हैं । (हालांकि मेरा मानना ​​है कि अगर हम ऐसा करते हैं तो कोई फर्क नहीं पड़ता)।μ


@ आर्यभट्ट: आपके संपादन में विशिष्टता ( ) के साथ क्या है ? मैं इस तथ्य के साथ ठीक हूं कि 1μ>μ असंतुलित का तात्पर्य13 -संतुलित। मुझे नहीं लगता कि आपकोऊँचाई साबित करने के लिएसटीकμढूंढना होगा जोO(लॉगएन) है। क्या मैं कुछ भूल रहा हूँ? 14 μO(logn)
जम्द

इसके अलावा, आपको प्रत्येक लिए एक पेड़ के साथ एक प्रतिरूप श्रृंखला प्रदान करने के लिए एक नकारात्मक कथन की आवश्यकता होती है । नोड आकार में गैर-घटती हुई कोई भी अनंत श्रृंखला पर्याप्त होगी, है ना? nN
राफेल

@jmad: बिना संपादित करें, हर पेड़ तुच्छता है 0 -balanced और इसलिए हम इस प्रश्न का एक तुच्छ कोई जवाब नहीं दिया है। मैं उससे बचना चाहता था। μ0
आर्यभट्ट

@ राफेल: मुझे समझ नहीं आया। पेड़ का नोड आकार n है । आप कह रहे हैं कि इससे कोई फर्क नहीं पड़ता कि हम R B n और उस μ n0 के लिए कौन सा पेड़ चुनें । मुझे स्पष्ट नहीं लगता है, और यही सवाल है! nthnRBnμn0
आर्यभट्ट

1
इस सवाल के एक पुराने संस्करण ने दावा किया कि एक लाल-काले पेड़ पर एक पुनरावर्ती एल्गोरिथ्म का रनटाइम जो प्रत्येक चरण में रैखिक काम करता है जरूरी नहीं कि । यह दावा गलत था; ऊंचाई संतुलन का तात्पर्य है कि एक की गहराई n -node लाल-काले का पेड़ है हे ( लॉग एन ) । इस प्रकार, यदि आप वृक्ष के प्रत्येक स्तर पर O ( n ) कार्य करते हैं, तो कुल कार्य O ( n log n ) हैO(nlogn)nO(logn)O(n)O(nlogn)
जेफई

जवाबों:


31

दावा : लाल-काले पेड़ अनियंत्रित रूप से μ असंतुलित हो सकते हैं ।

प्रूफ आइडिया : हर रूट-लीफ पथ पर काले नोड्स के दिए गए नंबर k के लिए जितना संभव हो सके उतने नोड्स के साथ दाईं उपप्रकार भरें और कुछ नोड्स के साथ बाएं ।

सबूत : एक दृश्य को परिभाषित करें Tk लाल-काले पेड़ों की ताकि Tk है k किसी भी (आभासी) पत्ती को जड़ से हर रास्ते पर काला नोड्स। Tk=B(Lk,Rk) को परिभाषित करें

  • Rk ऊंचाई की पूरी पेड़2k1 के साथ, लाल दूसरों काले रंग का पहला, तीसरे, ... स्तर, और
  • Lk का पूरा पेड़k1 सभी नोड्स काले रंग के साथ।

स्पष्ट रूप से, सभी Tk लाल-काले पेड़ हैं।

उदाहरण के लिए, ये क्रमशः T1 , T2 और T3 हैं:


T_1
[ स्रोत ]


T_2
[ स्रोत ]


T_3
[ स्रोत ]


अब हम दाईं ओर होने का दृश्य धारणा की पुष्टि करते हैं विशाल बाईं ओर की तुलना में। मैं आभासी पत्तियों की गिनती नहीं करूंगा; वे परिणाम को प्रभावित नहीं करते हैं।

Tk का बायाँ उपरी भाग पूरा है और हमेशा ऊँचाई k1 और इसलिए 2k1 नोड्स हैं। दूसरी ओर, सही सबट्री पूरी है, और ऊँचाई 2k1 और इस प्रकार 22k1 नोड्स हैं। अब रूट के लिए μ -balance मान है

2k2k+22k=11+2kk0

जो यह साबित करता है कि अनुरोध के अनुसार कोई μ>0 नहीं है ।


14

नहीं । निम्नलिखित विशेष संरचना के साथ एक लाल-काले पेड़ पर विचार करें।

  • बाईं सबट्री गहराई साथ एक पूर्ण बाइनरी ट्री है , जिसमें प्रत्येक नोड काला है।d
  • सही उप-भाग एक पूर्ण द्विआधारी वृक्ष है जिसकी गहराई , जिसमें विषम गहराई पर प्रत्येक नोड लाल है, और गहराई पर हर नोड काला है।2d

यह जांचना सीधा है कि यह एक वैध लाल-काला पेड़ है। लेकिन दाएं सबट्री में नोड्स की संख्या ( ) लगभग बाएं सबट्री में नोड्स की संख्या का वर्ग है ( 2 डी + 1 - 1 )।22d+112d+11


+1: धन्यवाद! लेकिन नोड्स की संख्या । क्या हम शायद किसी पेड़ को दिए गए आकार n को प्राप्त करने के लिए पर्याप्त रूप से 'पैड' कर सकते हैं ? (ऐसा लगता है कि ऐसा करने में सक्षम होना चाहिए)। 22d+1+2d+11n
आर्यभट्ट

1
आपके पास पहले से ही असीम रूप से कई लिए एक प्रतिरूप है , इसलिए परेशान क्यों हैं ?। लेकिन मुझे लगता है कि यदि आप चाहते थे, तो आप बाईं उपश्रेणी में अधिक लाल नोड्स जोड़ सकते हैं, या कुछ लाल नोड्स को सही उपट्री से बाहर ले जा सकते हैं। n
जेफ ई

@ जेफ: मूल रूप से प्रतिरूप श्रृंखला एक 'विरल' उपसमुच्चय के बजाय 'घने' उपसमुच्चय होगी। शायद मैं सवाल के सूत्रीकरण को बदल दूंगा।
आर्यभट्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.