प्रमाण है कि एक बेतरतीब ढंग से निर्मित बाइनरी सर्च ट्री में लॉगरिदमिक ऊंचाई है


10

आप यह कैसे साबित करते हैं कि n नोड्स के साथ एक बेतरतीब ढंग से निर्मित बाइनरी सर्च ट्री की अपेक्षित ऊंचाई O ( लॉग एन ) है ? CLRS इंट्रोडक्शन टू एलगोरिदम (अध्याय 12.4) में एक प्रमाण है , लेकिन मैं इसे नहीं समझता।nO(logn)


1
कौन सा प्रश्न? क्या उदाहरण है? कृपया सम्पूर्ण विवरण संपादित करें और दें।
रान जी

3
कृपया संक्षिप्ताक्षर (जैसे BST) का उपयोग करने से बचें और मान लें कि हममें से अधिकांश के पास CLRS पुस्तक नहीं है। यदि आप यहां प्रमेय की नकल कर सकते हैं, और समझा सकते हैं कि ऐसा क्या है जो आपको समझ में नहीं आता है, तो आपको अधिक उत्तर मिलेंगे।
रैन जी।

2
यह इस बात पर निर्भर करने वाला है कि बाइनरी सर्च ट्री कैसे बनाया जाता है। (यहां तक ​​कि अगर परिणाम नहीं होता है, तो प्रमाण होगा।) कुछ और विवरण उपयोगी होंगे।
पीटर शोर

जवाबों:


21

आइए पहले इस बारे में सहजता से सोचें। सबसे अच्छी स्थिति में, पेड़ पूरी तरह से संतुलित है; सबसे खराब स्थिति में, पेड़ पूरी तरह असंतुलित है:

ऊंचाई से संतुलित बाइनरी सर्च ट्रीसबसे खराब मामला बाइनरी सर्च ट्री

रूट नोड से शुरू पी , इस बाएं पेड़ है दो बार प्रत्येक अनुवर्ती गहराई में कई नोड्स, जैसे कि पेड़ के रूप में n=Σमैं=02मैं=2+1-1 नोड्स और एक ऊंचाई (जिसमें है यह मामला 3)। एक छोटे से गणित के साथ, n2+1-1लॉग2(n+1)-1एलजी2n , जो यह कहना है कि इसमेंहे(लॉगn) ऊंचाई है। पूरी तरह से असंतुलित वृक्ष के लिए, पेड़ की ऊंचाई बसn-1हे(n) । तो हमारे पास हमारी सीमाएं हैं।

यदि हम एक आदेशित सूची से एक संतुलित वृक्ष का निर्माण कर रहे थे , तो हम मूल तत्व को अपना मूल नोड चुनेंगे। लेकिन इसके बदले हम बेतरतीब ढंग से एक पेड़ का निर्माण कर रहे हैं, के किसी भी n नोड्स समान रूप से होने की संभावना उठाए जा सकें हैं और हमारे पेड़ की ऊंचाई है: मैं टी टी आर = 1 + अधिकतम ( मैं टी एल एफ टी एस यू बी टी आर {1,2,...,n}n हम जानते हैं कि एक द्विआधारी खोज वृक्ष में, बाईं सबट्री केवल कुंजी रूट नोड से कम होना चाहिए। इस प्रकार, यदि हम अनियमित रूप से i t h तत्वचुनते हैं, तो बायाँ सबट्री हैi-1तत्व और दायें सबट्री मेंn-iतत्व है, इसलिए अधिक कॉम्पैक्ट: h n =1+max( h i -)

मैंजीटीटीआर=1+अधिकतम(मैंजीटीएलटी रोंयूटीआर,मैंजीटीआरमैंजीटी रोंयूटीआर)
मैंटीमैं-1n-मैं। वहां से, यह समझ में आता है कि यदि प्रत्येक तत्व को समान रूप से उठाए जाने की संभावना है, तो अपेक्षित मूल्य सभी मामलों का औसत (भारित औसत के बजाय) है। इसलिए:[ एच एन ]= 1n=1+अधिकतम(मैं-1,n-मैं)[n]=1nΣमैं=1n[1+अधिकतम(मैं-1,n-मैं)]

जैसा कि मुझे यकीन है कि आपने ध्यान दिया है, मैंने सीएलआरएस को साबित करने के तरीके से थोड़ा विचलित कर दिया है, क्योंकि सीएलआरएस दो अपेक्षाकृत सामान्य प्रूफ तकनीकों का उपयोग करता है जो कि uninitiated के लिए डिस्कनेक्ट हो रहे हैं। पहला यह है कि हम जो कुछ भी खोजना चाहते हैं (इस मामले में ऊँचाई पर) के घातांक (या लघुगणक) का उपयोग करें, जो गणित को थोड़ा और साफ कर देता है; दूसरा संकेतक फ़ंक्शंस का उपयोग करने के लिए है (जो मैं सिर्फ यहाँ अनदेखा करने जा रहा हूं)। CLRS Y n = 2 h n के रूप में घातीय ऊंचाई को परिभाषित करता है , इसलिए अनुरूप पुनरावृत्ति Y n = 2 × अधिकतम ( Y i - 1 , Y n - i ) हैYn=2nYn=2×अधिकतम(Yमैं-1,Yn-मैं)

मान लिया जाये कि स्वतंत्रता (कि एक तत्व के प्रत्येक ड्रा (उपलब्ध तत्वों में से) एक सबट्री की जड़ होने की परवाह किए बिना के पिछले सभी खींचता है), हम अभी भी रिश्ता नहीं है: जिसके लिए मैं दो कदम किया: (1) चलती1

[Yn]=Σमैं=1n1n[2×अधिकतम(Yमैं-1,Yn-मैं)]=2nΣमैं=1n[अधिकतम(Yमैं-1,Yn-मैं)]
क्योंकि बाहर यह एक स्थिर और summations के गुणों में से एक है कि हैΣमैंमैं=Σमैंमैं, और (2) 2 के बाहर घूम रहा है, क्योंकि यह भी एक निरंतर और अपेक्षित मानों के गुणों में से एक है[एकएक्स]=एक[एक्स]। अब हमअधिकतमफ़ंक्शन को किसी बड़ी चीज़से बदलने जा रहे हैंक्योंकि अन्यथा सरलीकरण करना मुश्किल है। अगर हम नॉनवेजेटिवएक्स,वाई:[मैक्स(एक्स,वाई) केलिए बहस करते हैं1nΣमैंसीमैं=सीΣमैंमैंE[ax]=aE[x]maxXY , तो: [ वाई एन ] 2E[max(X,Y)]E[max(X,Y)+min(X,Y)]=E[X]+E[Y] ऐसी है कि अंतिम चरण के अवलोकन है कि के लिए से इस प्रकारमैं=1,वाईमैं-1=Y0औरवाईएन-मैं=Yn-1और सभी के लिए जा रहाi=n,Yi-1=Yn-1औरYn- कारास्ता
E[Yn]2ni=1n(E[Yi1]+E[Yni])=2ni=0n12E[Yi]
i=1Yi1=Y0Yni=Yn1i=nYi1=Yn1 , इसलिए हर शब्द Y 0 से Y n - 1 दो बार दिखाई देता है, इसलिए हम पूरे सारांश को एक अनुरूप के साथ बदल सकते हैं। अच्छी खबर यह है कि हमारे पास पुनरावृत्ति[ वाई एन ] 4 हैYni=Y0Y0Yn1; बुरी खबर यह है कि हम जहां से शुरू हुए थे, उससे बहुत आगे नहीं हैं।E[Yn]4ni=0n1E[Yi]

इस बिंदु पर, CLRS एक प्रेरण सबूत खींचती E[Yn]14(n+33)i=0n1(i+33)=(n+34)n3Yn=2hnhn=log2n3=3log2nO(logn)nkk

2E[Xn]E[Yn]4ni=0n1E[Yi]14(n+33)=(n+3)(n+2)(n+1)24E[hn]=O(logn)

WOW.THANKS !!!! Even though i don't know about Expected value, this sort of makes sense. I did not do a discreet math course before doing algorithms. I will post more comments, if i have some doubt. Thank you Merbs.
user1675999

but why exactly is exponential height less than or equal the chosen binomial? I still don't understand why can't we choose any other binomial with different largest term and do exactly the same math... probably I'm stupid but I just can't see why ... and up to this point proof makes perfect sense, then they just had to pull something completely out of the blue and with no explanation tell us it "proves" them being right...
Zeks

@Zeks So, we can choose other binomials with larger terms. If the term is still polynomial (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.
Merbs

@DavidNathan I don't understand your concern - are you doubting that 1/n is a constant or that it can be moved outside the summation? It, like the constant 2, is largely taken out for illustrative purposes, to simplify the remaining proof.
Merbs
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.