एक असंतुलित पेड़ उचित रोटेशन ऑपरेशन करके संतुलित हो जाता है। अनुभाग, रीबैलेंसिंग ट्रीज़, सचित्र है कि एक नोड पर घूर्णन कैसे करें। नीचे दिया गया कोड एलएल रोटेशन के लिए एल्गोरिदम देता है, जैसा कि नीचे चित्र में दिखाया गया है।
1 बैलेंसएलएल(ट्रीनोड ए, ट्रीनोड पैरेंटऑफए) {
2 मान लीजिए B, A की बायीं संतान है।
3
4 यदि (ए मूल है)
5 मान लीजिए B नई जड़ है
6 अन्य {
7 यदि (ए माता-पिता का बायां बच्चा है)
8 माना B, माता-पिताOfA की बायीं संतान है;
9 अन्य
10 माना B, माता-पिता की सही संतान है;
11 }
12
13 बी.दाएं को ए.बाएं निर्दिष्ट करके टी2 को ए का बायां उपवृक्ष बनाएं;
14 A को B का अधिकार सौंपकर A को B का सही बच्चा बनाएं;
15 नोड ए और नोड बी की ऊंचाई अपडेट करें;
16 } // विधि का अंत
ध्यान दें कि नोड्स की ऊंचाई A और B को बदला जा सकता है, लेकिन पेड़ में अन्य नोड्स की ऊंचाई नहीं बदली जाती है। आप आरआर, एलआर और आरएल रोटेशन को समान तरीके से लागू कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3