Hoe kan ik een knoop van een BST te schrappen?
Ik moet een algoritme om dat te doen in Dr. Scheme.
Hoe kan ik een knoop van een BST te schrappen?
Ik moet een algoritme om dat te doen in Dr. Scheme.
Ervan uitgaande dat de binaire zoekboom gebruikt ongecompliceerd cons cellen met inhoud alleen aan de bladeren, en ervan uitgaande dat je werkt aan een huiswerkopdracht: U kunt gebruiken set-car!of set-cdr!om de inhoud van een tegens cel te veranderen.
Gooi je in feite de BST je nu hebt, en maak een nieuwe sans het element.
U kunt dit doen door recursief de boom dalen. Als het item is minder dan de wortel gegeven, maak dan een BST waarvan de wortel en groter-dan-tak is gekopieerd van wat je nu hebt, maar waarvan de minder-dan tak is het resultaat van een recursieve aanroep.
Het is zeer vergelijkbaar met hoe je een knooppunt toe te voegen, maar als je naar degene die u op zoek waren, samenvoegen van de twee BSTS eronder en terug te keren het resultaat. Er zijn zeker bestaande vragen over hoe dat nu al te doen.