JavaでIntervalTreeまたはRangeTreeの実装が必要ですが、削除をサポートしているものを見つけるのが難しいです。IntervalTree DeleteNode Javaインプリメンテーション
あり、内蔵1 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.
*/
が例外をスロー終わる:
ノードの最大エンドポイントが更新されませんでした 正しく
sun.jvm.hotspot.utilities.IntervalTreeのサブクラスにdelete
機能を実装していますか?あるいは、これを既に正しく実装している別のインターバルツリーの実装がありますか?
現在のところ、削除があるたびにツリーを一掃し、理想から離れているだけです(注:RBTreeのDEBUGGING = falseを設定するとすばらしいことになります)。
リンクありがとうございました。私はドキュメントhttp://olduvai.sourceforge.net/tj/tj-javadoc-public/TreeJuxtaposer/RangeTree.htmlを見ていますが、範囲のノードのリストを取得する方法や、一度作成されたツリー。また、使用しているGUIプロジェクトにいくつかの依存関係のリークがあるように見えます。私の推測では、これは汎用的なRangeTreeではなく、そのプロジェクトのニーズに非常に特有のものです。この実装を使用しましたか? –
@Sam、いいえ私はそれを使用していません。私が見つけることができたのはそれだけでした。オープンソースなので、sun実装をサブクラス化するよりも、始めるより良い基礎を与えるかもしれません。 – Yishai