JavaでIntervalTreeまたはRangeTreeの実装が必要ですが、削除サポートが機能しているものを見つけるのに問題があります。
sun.jvm.hotspot.utilities.IntervalTreeに組み込みのものがありますが、RBTreeスーパークラスのdeleteNodeメソッドは次のように述べています。
/**
* FIXME: this does not work properly yet for augmented red-black
* trees since it doesn't update nodes. Need to figure out exactly
* from which points we need to propagate updates upwards.
*/
ツリーからノードを削除しようとすると、例外がスローされます。
ノードの最大エンドポイントが正しく更新されませんでした
delete
sun.jvm.hotspot.utilities.IntervalTreeのサブクラスに機能を適切に実装することはどれほど難しいでしょうか。または、これをすでに正しく実装している別の区間木実装はありますか?
現在、私はツリーを一掃し、削除があるたびに再入力しています。これは理想からはほど遠いです(注:RBTreeでDEBUGGING = falseを設定すると、処理が大幅に高速化されます)。