Java, método de eliminación del árbol binario
Estoy tratando de escribir unremove(node cRoot, Object o)
función para un árbol binario ordenado.
quí está lo que tengo hasta ahora:
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);
}
}
No funciona correctamente. Para eliminar un nodo, debe reparar el árbol para arreglar el agujero. ¿Cómo debe hacerse esto