remove(node cRoot, Object o)
ソートされた二分木の関数を書こうとしています。
これが私がこれまでに持っているものです:
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);
}
}
正しく動作しません。ノードを削除するには、ツリーを修復して穴を修正する必要があります。これはどのように行う必要がありますか?