मैंने इसे कुछ पेपर में देखा और किसी ने तर्क दिया कि जब हम एवीएल पेड़ के नोड को हटाते हैं तो अधिकांश लॉग (एन) बार घूर्णन हो सकते हैं। मेरा मानना है कि हम एक एवीएल पेड़ को यथासंभव लापरवाही के रूप में उत्पन्न करके इसे प्राप्त कर सकते हैं। समस्या यह है कि यह कैसे करें। इससे मुझे हटाने की रोटेशन चीज की खोज करने में बहुत मदद मिलेगी। बहुत बहुत धन्यवाद!एवीएल पेड़ को यथासंभव लापरवाही के रूप में कैसे उत्पन्न करें?
उत्तर
आप एक अधिकतम एकतरफा AVL पेड़ बनाना चाहते हैं, तो आप एक Fibonacci tree, जो उपपादन द्वारा परिभाषित किया गया है इस प्रकार के लिए देख रहे हैं:
- एक फाइबोनैचि आदेश 0 के वृक्ष खाली है।
- ऑर्डर 1 का एक फाइबोनैकी पेड़ एक एकल नोड है। आदेश n + 2 की
- एक फाइबोनैचि पेड़ एक नोड जिसका बाईं बच्चे आदेश n और जिसका सही बच्चे का एक फाइबोनैचि पेड़ है n आदेश की एक फाइबोनैचि पेड़ + 1.
उदाहरण के लिए है, यहाँ एक फाइबोनैचि है आदेश 5 के पेड़:
फाइबोनैचि पेड़, तिरछा की अधिकतम राशि एक AVL पेड़ हो सकता है प्रतिनिधित्व करते हैं के बाद से रखा करता है, तो संतुलन कारक किसी भी अधिक एकतरफा प्रत्येक नोड के संतुलन कारक सीमाएं पार हो जाएंगी थे एवीएल पेड़ों द्वारा।
आप बहुत आसानी से अधिकतम एकतरफा AVL पेड़ उत्पन्न करने के लिए इस परिभाषा का उपयोग कर सकते हैं:
function FibonacciTree(int order) {
if order = 0, return the empty tree.
if order = 1, create a single node and return it.
otherwise:
let left = FibonacciTree(order - 2)
let right = FibonacciTree(order - 1)
return a tree whose left child is "left" and whose right child is "right."
आशा इस मदद करता है!
अच्छा जवाब। अगर इसके साथ जाने के लिए केवल एक छवि थी। –
(विशेष रूप से ध्यान दें कि प्रत्येक गैर-पत्ती में संतुलन "कारक" 0 से अलग होता है) –
- 1. एवीएल पेड़ बनाम बी-पेड़
- 2. सीएमके: द्विआधारी "यथासंभव स्थैतिक" कैसे उत्पन्न करें
- 3. एवीएल पेड़ पर बाइनरी सर्च पेड़
- 4. विलय 2 अलग-अलग एवीएल पेड़
- 5. एवीएल पेड़ और स्प्ले पेड़ों के बीच अंतर
- 6. पूर्वजों से जेसन पेड़ कैसे उत्पन्न करें
- 7. C++: फ़ंक्शन कॉल पेड़ उत्पन्न करें
- 8. शैल स्क्रिप्ट कॉल पेड़ उत्पन्न करें
- 9. .NET बिल्ट-इन एवीएल-ट्री?
- 10. निर्णय पेड़ उत्पन्न करने के लिए लाइब्रेरी
- 11. लापरवाही फ़ंक्शन
- 12. प्रोग्राम प्रोग्राम के रूप में माउस प्रोग्राम कैसे उत्पन्न करें?
- 13. मैं HttpWebRequest को यथासंभव समकालिक रूप से व्यवहार करने के लिए कैसे प्राप्त कर सकता हूं?
- 14. मुझे लापरवाही संपीड़न एल्गोरिदम कहां मिल सकता है, जो हेडरलेस आउटपुट उत्पन्न करता है?
- 15. बी +/-पेड़ पर टी-पेड़ के क्या फायदे हैं?
- 16. मेमोरी पदचिह्न को यथासंभव कम रखने के लिए JVM को कैसे निर्देशित करें?
- 17. रूबी और लापरवाही वर्ण
- 18. बाइनरी ट्री को संतुलित करना (एवीएल)
- 19. emacs एक पेड़ के रूप में खुले बफर को देखें
- 20. एएसपीनेट में गतिशील रूप से अनियंत्रित सूची कैसे उत्पन्न करें?
- 21. प्रिंटिंग से कंसोल पर लापरवाही बंद करें
- 22. गणित में स्वचालित रूप से फ़ंक्शन नाम कैसे उत्पन्न करें?
- 23. साइटकोर सामग्री पेड़ में पूरी शाखा को कैसे सुरक्षित करें?
- 24. जावा में पेड़ पदानुक्रम कैसे प्रदर्शित करें?
- 25. gwt में पेड़ का विस्तार कैसे करें?
- 26. आगे के लिए लाइब्रेरी (लापरवाही) जेपीईजी-संपीड़न
- 27. एंड्रॉइड स्रोत पेड़ में उपलब्ध शाखाओं को कैसे प्रदर्शित करें?
- 28. jquery सर्वोत्तम नियंत्रण जो उत्पन्न पेड़
- 29. डेटाबेस में निर्देशिका/पदानुक्रम/पेड़ संरचना को कैसे स्टोर करें?
- 30. नियमों के साथ पेड़ प्रतिनिधित्व में स्ट्रिंग को कनवर्ट करें
यह भी देखें: http://stackoverflow.com/questions/19622572/how-to-generate-maximally-unbalanced-avl-trees –