कृपया ध्यान दें कि इस होमवर्क है! -> मैं प्रत्यक्ष कोड उदाहरण के लिए नहीं देख रहा हूँ, बल्कि मेरी तर्क के कुछ कोमल मालिश ...
मैं एक समारोह है कि तीन बातें करने से एक द्विआधारी खोज पेड़ की जड़ को हटा लिखने के लिए कहा गया है: i) ii के लिए पेड़ घूर्णन) सही सबट्री की जड़ (जो मूल BST जड़ था को हटाने) iii) पुनर्निर्माण नया रूट (जो मूल वृक्ष के बाईं था) और उस नोड के बच्चों की उचित rearrangements साथ BST ... यहाँ मैं क्या है:
(define (rm-root my-bst)
(list (key (rot-r my-bst))
(left (rot-r my-bst))
(append (right (right (rot-r my-bst)))
(left (right (rot-r my-bst))))))
जो सभी महान है, के लिए है कि यह नोड के बच्चों गया था कि रूट नोड के लिए पदोन्नत के साथ पेड़ के पुनर्निर्माण नहीं है उम्मीद है। किसी को भी मेरे बारे में कैसे मुझे लगता है कि लागू करने के बारे में जाना चाहिए लगता है कि मदद कर सकते हैं? मैं उल्लेख करना चाहिए कि हम Bst के परिभाषित किया है सूची के रूप में और समारोह सड़ांध-r सही करने के लिए BST घूमता है। धन्यवाद।













