Cum pot șterge un nod dintr-un BST?
Am nevoie de un algoritm pentru a face acest lucru în Schema dr.
Cum pot șterge un nod dintr-un BST?
Am nevoie de un algoritm pentru a face acest lucru în Schema dr.
Presupunând că arborele binar de căutare utilizează drept înainte celule contra cu conținut numai la frunze, și presupunând că se lucrează la o temă pentru acasă: Puteți folosi set-car!sau set-cdr!pentru a modifica conținutul unei celule contra.
Tu arunci practic BST aveți acum, și de a crea un nou unul sans element.
Puteți face acest lucru prin descendent recursiv copac. Dacă elementul este mai mică decât datum rădăcină, a crea un BST a cărui rădăcină și-o mai mare decât ramura este copiat din ceea ce ai acum, dar ale căror mai puțin decât ramura este rezultatul dintr-un apel recursiv.
Este foarte similar cu modul în care adăugați un nod, dar când ajungi la cel pe care îl au fost căutați, fuzioneze cele două BSTs sub el și să se întoarcă rezultatul. Există întrebări cu siguranță existente cu privire la modul de a face acest lucru deja.