मैं चाहता हूं कि आप मुझे इस अभ्यास को कॉर्मन की किताब से साबित करने के लिए एक संकेत दें: "साबित करें कि कोई भी नोड जो हम ऊंचाई-एच बाइनरी खोज पेड़ में शुरू करते हैं, के ट्री-सफलताकर्ता को लगातार कॉल ओ (के + एच) समय ले लो। "मैं बाइनरी खोज पेड़ पर इस ऑपरेशन को कैसे साबित कर सकता हूं?
5
A
उत्तर
6
- Let शुरू करने नोड हो
x
औरz
वृक्ष-उत्तराधिकारी कोk
लगातार कॉल के बाद समाप्त होने नोड हो। p
x
औरz
समेत सरल पथ बनें।y
x
औरz
के सामान्य पूर्वजों कोp
विज़िट करने दें।p
की लंबाई2h
पर है, जोO(h)
है।output
उन तत्वों को बनें जो उनके मानx.key
औरz.key
समेत शामिल हैं।output
का आकारO(k)
है।- वृक्ष-उत्तराधिकारी को
k
लगातार कॉल, नोड्सp
में हैं के निष्पादन में दौरा कर रहे हैं, और नोड्सx
,y
औरz
, अलावा अगरp
में एक नोड के एक उप पेड़ तो सभी का दौरा किया है इसके तत्वoutput
में हैं। - तो चलने का समय
O(h+k)
है।
3
संकेत: एक छोटा सा उदाहरण तैयार करें, परिणाम देखें, कारण को निकालने का प्रयास करें।
आरंभ करने के लिए, यहां कुछ चीजों पर विचार करना है।
एक निश्चित नोड से शुरू करें, ट्री-सक्सेसर को सफलतापूर्वक कॉल आंशिक वृक्ष चलने का प्रयास करता है। कितने (कम से कम और अधिकतर) नोड्स इस यात्रा पर जाते हैं? (संकेत: कुंजी (एक्स) के बारे में सोचें)। ध्यान रखें कि किनारे पर दो बार दौरा किया जाता है (क्यों?)।
अंतिम संकेत: परिणाम O(2h+k)
है।
+1
अधिकांश ट्राइस पर एक नोड का दौरा किया जाता है। –
संबंधित मुद्दे
- 1. मैं दो बाइनरी पेड़ों को कैसे विलय कर सकता हूं
- 2. बाइनरी खोज पेड़ क्यों?
- 3. मैं पर्ल में बाइनरी खोज कैसे कार्यान्वित कर सकता हूं?
- 4. जावास्क्रिप्ट बाइनरी खोज पेड़ कार्यान्वयन
- 5. द्विआधारी खोज बनाम बाइनरी खोज पेड़
- 6. बाइनरी पेड़ कैसे बनाएं
- 7. एक संतुलित बाइनरी खोज पेड़ का निर्माण
- 8. एक बाइनरी खोज पेड़ की औसत ऊंचाई
- 9. हम प्रेरण से कैसे साबित कर सकते हैं कि बाइनरी खोज सही है?
- 10. बाइनरी खोज पेड़ में डुप्लिकेट प्रविष्टियों को खोजने की रणनीति
- 11. मैं तुरंत कर्ल ऑपरेशन कैसे रद्द कर सकता हूं?
- 12. एवीएल पेड़ पर बाइनरी सर्च पेड़
- 13. मैं इस सूचीदृश्य को अचयनित कैसे कर सकता हूं?
- 14. मैं इस कोर डेटा आधारित खोज को कैसे अनुकूलित कर सकता हूं?
- 15. मैं इस LINQ क्वेरी को कैसे समूहबद्ध कर सकता हूं?
- 16. मैं कैसे साबित कर सकता हूं कि यह व्याकरण संदिग्ध है?
- 17. सामान्य पेड़ से बाइनरी पेड़
- 18. मैं एक देखा पेड़ मॉडल कैसे अपडेट कर सकता हूं?
- 19. मैं बाइनरी पैच कैसे बना सकता हूं?
- 20. मैं कास्ट ऑपरेशन को कैसे आसान बना सकता हूं?
- 21. द्विआधारी खोज पेड़
- 22. क्या मैं इस फोन-रेगेक्स को अनुकूलित कर सकता हूं?
- 23. मैं थोक खोज कैसे कर सकता हूं और पर्ल के साथ प्रतिस्थापित कैसे कर सकता हूं?
- 24. मैं अपना Google खोज इतिहास कैसे पुनर्प्राप्त कर सकता हूं?
- 25. मैं एक बाइनरी खोज पेड़ में नोड के nth पूर्वजों को कैसे ढूंढूं?
- 26. मैं प्रोग्रामिंग के "छः डिग्री पृथक्करण" अवधारणा को कैसे साबित कर सकता हूं?
- 27. मैं हास्केल में पॉइंटर्स का अनुकरण कैसे कर सकता हूं?
- 28. बाइनरी खोज पेड़ के साथ हैश की तुलना करें
- 29. मैं पैंडस डेटाफ्रेम में मानों को कैसे अलग कर सकता हूं और बाइनरी मैट्रिक्स में परिवर्तित कर सकता हूं?
- 30. मैं कई बाइनरी फ़ाइलों को लिनक्स सिस्टम पर एक फ़ाइल में कैसे कॉपी कर सकता हूं?
'ट्री-सफलताकर्ता के लिए लगातार कॉल के निष्पादन में, पी में नोड्स का दौरा किया जाता है, और नोड्स एक्स, वाई और जेड के अलावा, क्या आप कृपया यहां बता सकते हैं कि 'y' क्या है? –
मैंने उत्तर में 'y' जोड़ा। –