एक द्विआधारी खोज वृक्ष की DrRacket हटाया जा रहा रूट

वोट
1

कृपया ध्यान दें कि इस होमवर्क है! -> मैं प्रत्यक्ष कोड उदाहरण के लिए नहीं देख रहा हूँ, बल्कि मेरी तर्क के कुछ कोमल मालिश ...

मैं एक समारोह है कि तीन बातें करने से एक द्विआधारी खोज पेड़ की जड़ को हटा लिखने के लिए कहा गया है: 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 घूमता है। धन्यवाद।

12/11/2011 को 01:07
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

ठीक है, मुझे यकीन है कि यह उपयोगी 12 दिन हो जाएगा के बाद प्रश्न पूछा गया था, लेकिन यहाँ जाता है नहीं कर रहा हूँ।

स्पष्ट है कि, मेरा अनुमान है कि यह है कि डेटा संरचना (सूची कुंजी दाएँ से बाएँ), जहां छोड़ दिया और सही भी पेड़ हैं (या खाली है, लेकिन है कि इस के लिए अप्रासंगिक है) प्रपत्र की है। अगर ऐसा नहीं है, इस बात का स्पष्टीकरण की जरूरत होगी।

अपने कोड में एक समस्या यह है कि आप सीधे दो सूचियों आप सही के लिए एक साथ संलग्न करने के लिए नहीं करना चाहती है। आप उनमें से एक के प्रमुख, और फिर छोड़ दिया और सही के साथ एक सूची बनाना चाहते हैं। यदि मैं यह सही ढंग से पढ़ रहा हूँ, छोड़ समारोह एक पेड़ लौटना चाहिए और इसलिए ठीक काम करना चाहिए।

मैं सड़ांध-r के कार्यान्वयन की जाँच करता है, तो मैं तुम्हें थे कि के रूप में गलत हो रहा बातों के लिए मुख्य संभावना प्रतीत हो रहा है होगा।

23/11/2011 को 07:33
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more