# blätter eines binärbaums löschen



## funky_fresh (1. Okt 2011)

halllo, der titel sagt schon alles !

if (knote.getLeft()==null || knote.getRight()==null){
.....
}

danke im voraus


----------



## XHelp (1. Okt 2011)

Ich kauf ein A und möchte lösen: Bockwurst!


----------



## obb (1. Okt 2011)

Bitte, keine Ursache.


----------



## maki (1. Okt 2011)

*verschoben*


----------



## ...ButAlive (1. Okt 2011)

Ä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 (2. Okt 2011)

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!


----------

