मुझे यह समझ में नहीं आया कि स्प्ले ट्री डेटा संरचना में रोटेशन न केवल रेटिंग नोड के माता-पिता को ध्यान में रख रहा है, बल्कि दादा-दादी (जिग-ज़ैग और ज़िग-ज़िग ऑपरेशन) भी है। निम्नलिखित काम क्यों नहीं करेगा:
उदाहरण के लिए, हम पेड़ पर एक नया नोड डालते हैं, हम जाँचते हैं कि हम बाएं या दाएं सबट्री में सम्मिलित करते हैं या नहीं। यदि हम बाईं ओर सम्मिलित करते हैं, तो हम परिणाम को घुमाते हैं, और दाएं उपप्रकार के लिए इसके विपरीत। फिर से यह इस तरह से sth होगा
Tree insert(Tree root, Key k){
if(k < root.key){
root.setLeft(insert(root.getLeft(), key);
return rotateRight(root);
}
//vice versa for right subtree
}
आपको पूरी "स्प्ले" प्रक्रिया से बचना चाहिए, क्या आपको नहीं लगता है?