आप यह कैसे साबित करते हैं कि n नोड्स के साथ एक बेतरतीब ढंग से निर्मित बाइनरी सर्च ट्री की अपेक्षित ऊंचाई O ( लॉग एन ) है ? CLRS इंट्रोडक्शन टू एलगोरिदम (अध्याय 12.4) में एक प्रमाण है , लेकिन मैं इसे नहीं समझता।
आप यह कैसे साबित करते हैं कि n नोड्स के साथ एक बेतरतीब ढंग से निर्मित बाइनरी सर्च ट्री की अपेक्षित ऊंचाई O ( लॉग एन ) है ? CLRS इंट्रोडक्शन टू एलगोरिदम (अध्याय 12.4) में एक प्रमाण है , लेकिन मैं इसे नहीं समझता।
जवाबों:
आइए पहले इस बारे में सहजता से सोचें। सबसे अच्छी स्थिति में, पेड़ पूरी तरह से संतुलित है; सबसे खराब स्थिति में, पेड़ पूरी तरह असंतुलित है:
रूट नोड से शुरू , इस बाएं पेड़ है दो बार प्रत्येक अनुवर्ती गहराई में कई नोड्स, जैसे कि पेड़ के रूप में नोड्स और एक ऊंचाई (जिसमें है यह मामला 3)। एक छोटे से गणित के साथ, , जो यह कहना है कि इसमें ऊंचाई है। पूरी तरह से असंतुलित वृक्ष के लिए, पेड़ की ऊंचाई बस । तो हमारे पास हमारी सीमाएं हैं।
यदि हम एक आदेशित सूची से एक संतुलित वृक्ष का निर्माण कर रहे थे , तो हम मूल तत्व को अपना मूल नोड चुनेंगे। लेकिन इसके बदले हम बेतरतीब ढंग से एक पेड़ का निर्माण कर रहे हैं, के किसी भी n नोड्स समान रूप से होने की संभावना उठाए जा सकें हैं और हमारे पेड़ की ऊंचाई है: ज ई मैं छ ज टी टी आर ई ई = 1 + अधिकतम ( ज ई मैं छ ज टी एल ई एफ टी एस यू बी टी आर ई हम जानते हैं कि एक द्विआधारी खोज वृक्ष में, बाईं सबट्री केवल कुंजी रूट नोड से कम होना चाहिए। इस प्रकार, यदि हम अनियमित रूप से i t h तत्वचुनते हैं, तो बायाँ सबट्री हैi-1तत्व और दायें सबट्री मेंn-iतत्व है, इसलिए अधिक कॉम्पैक्ट: h n =1+max( h i -)
जैसा कि मुझे यकीन है कि आपने ध्यान दिया है, मैंने सीएलआरएस को साबित करने के तरीके से थोड़ा विचलित कर दिया है, क्योंकि सीएलआरएस दो अपेक्षाकृत सामान्य प्रूफ तकनीकों का उपयोग करता है जो कि uninitiated के लिए डिस्कनेक्ट हो रहे हैं। पहला यह है कि हम जो कुछ भी खोजना चाहते हैं (इस मामले में ऊँचाई पर) के घातांक (या लघुगणक) का उपयोग करें, जो गणित को थोड़ा और साफ कर देता है; दूसरा संकेतक फ़ंक्शंस का उपयोग करने के लिए है (जो मैं सिर्फ यहाँ अनदेखा करने जा रहा हूं)। CLRS Y n = 2 h n के रूप में घातीय ऊंचाई को परिभाषित करता है , इसलिए अनुरूप पुनरावृत्ति Y n = 2 × अधिकतम ( Y i - 1 , Y n - i ) है।
मान लिया जाये कि स्वतंत्रता (कि एक तत्व के प्रत्येक ड्रा (उपलब्ध तत्वों में से) एक सबट्री की जड़ होने की परवाह किए बिना के पिछले सभी खींचता है), हम अभी भी रिश्ता नहीं है: जिसके लिए मैं दो कदम किया: (1) चलती1
इस बिंदु पर, CLRS एक प्रेरण सबूत खींचती
n^k
), the conclusion is the same because the k
is dropped in the big-O notation (the way 3 was dropped). But if we substituted in something exponential (e^n
), it would still be a correct upper bound, just not a tight one. We know that the expected height is at least logarithmic, so determining that it is at most logarithmic makes it tight.