web-dev-qa-db-ja.com

JavaでのBtreeまたはB + treeの既存の実装

私はbtreeまたはb + treeデータ構造を必要とするプロジェクトをやっています。誰かがbtreeまたはb + treeの既存の実装を知っていますか(挿入、削除、検索アルゴリズムを使用)。文字列を入力として受け入れ、これらの文字列のbtreeまたはb + treeを形成する必要があります。

22
rohit

解決する必要がある問題の詳細が不足しているので、私はあなたに問題を解決するmight代替ソリューションを提案することを許可します:使用代わりに赤/黒の木。

Wikipedia で説明されているように、赤/黒のツリーはbツリーと考えることができます。

赤黒木は、構造が次数4のBツリーに似ています。各ノードには、1〜3個の値と(したがって)2〜4個の子ポインターを含めることができます。そのようなBツリーでは、各ノードには赤黒ツリーの黒ノードの値と一致する値が1つだけ含まれ、同じノードの前と後のオプションの値が両方とも含まれます。赤黒木[...]

Javaには TreeMapTreeSet の2つの組み込みクラスがあり、赤/黒のツリーを提供します。これらはどれも入力として文字列を取り、そこからツリーを成長させることはありませんが、これらのクラスの1つに「アラウンド」のような類似のものを実装できる場合があります。

16

jdbm は、b + treeの非常に強固な実装を備えています。また、興味深い関連データ構造であるh + tree。

12
Kevin Day

私は、独自のオープンソースの code を実装する必要がありました。

5
Justin

Electricの BTree著者ページはこちら )を試すことができます。

0
Charles Goodwin