blätter eines binärbaums löschen

B

...ButAlive

Gast
Ähm ja, alles klar. Der Titel sagt alles, stimmt du willst Blätter eines Binärbaums löschen. Wie sieht denn dein Binärbaum aus? Mir ist keine Klasse Binärbaum bekannt, also brächte man noch ein bisschen mehr Code um dir helfen zu können. Aber benutze CODETAGS wenn du mehr Code postest.

Prinzipelles vorgehen wäre, zum Vaterknoten gehen und von da aus das Blatt löschen, aber wie gesagt, ich hab keine Ahnung welche Methoden dir zur Verfügung stehen.
 

0x7F800000

Top Contributor
Wenn fehlende Kind-Bäume einfach durch [c]null[/c] dargestellt werden, dann muss man im Falle des Leafs einfach nur [c]null[/c] zurückgeben (dazu muss natürlich remove(X)-methode stets einen modifizierten Baum zurückgeben). Wenn du einen nicht-Leaf entfernen willst, dann wird es lustig: mann muss entweder deleteMax vom linken Teilbaum oder deleteMin vom rechten Teilbaum aufrufen, und den nicht_leaf knoten durch das extrahierte minimum (oder eben maximum) ersetzen.

Im übrigen schließe ich mich den Leuten hier an: die undetailliertheit deiner Frage ist schon ziemlich grenzwertig, zeig mal bisschen code!
 

Neue Themen


Oben