Java -, Binär-Baum remove-Methode

Ich versuche zu schreiben remove(node cRoot, Object o) Funktion für einen sortierten binären Baum.

Hier ist was ich habe, so weit:

private boolean remove(Node cRoot, Object o) {
  if (cRoot == null) {
    return false;
  }
  else if (cRoot.item.equals(o)) { 
    //erase node fix tree
    return true;
  }
  else if (((Comparable)item).compareTo(cRoot.item)<=0){
    return remove(cRoot.lChild, o);
  }
  else { 
     return remove(cRoot.rChild,o);
  }
}

Funktioniert es nicht richtig. Um einen node zu löschen, die Sie reparieren müssen, den Baum zu fixieren das Loch. Wie sollte dies gemacht werden?

Der Baum beheben wird, hängt vom Algorithmus, die Sie verwenden, um die balance der Baum.

InformationsquelleAutor user101934 | 2009-05-07

Schreibe einen Kommentar