BU ÖDEV OLDUĞUNU LÜTFEN DİKKAT! -> Ben direkt kod örneklerini arayan değil, benim muhakeme bazı yumuşak masaj değilim ...
Ben üç şey yaparak ikili arama ağacının kökünü çıkaran bir fonksiyon yazmak için istendi: i) sağa ii için ağaç dönen) orijinal BST kök oldu sağ alt ağacının kökü (kaldırma) iii) yeniden inşa (orijinal ağacının sol idi) yeni kökü ve o düğümün çocuklarının uygun yeniden düzenlemeleri içeren bST ... İşte ne var:
(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))))))
tüm büyük Hangisi o kök düğüme terfi yapıldığı düğümün çocukları ile ağacı yeniden etmediğini için bekliyoruz. Herkes bana bunu uygulama hakkında gitmeli nasıl düşünmek yardımcı olabilir misiniz? Bence listeleri gibi ve fonksiyon çürüklüğü-r sağa BST döndüğünü Bsö 's tanımladıktan bahsetmeliyiz. Teşekkür ederim.













