26

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

4

4 に答える 4

16

解決する必要がある問題の詳細が不足しているため、問題を解決する可能性のある代替ソリューションを提案します。代わりに赤/黒ツリーを使用します。

ウィキペディアで説明されているように、赤/黒ツリーは b ツリーと考えることができます。

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

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

于 2010-04-04T14:53:01.430 に答える
14

jdbmには、b+tree の非常に堅実な実装があります。また、関連する興味深いデータ構造である h+tree もあります。

于 2010-04-05T05:15:17.523 に答える
5

私は自分自身を実装し、コードをオープンソース化する必要がありました。

于 2012-05-13T17:25:57.033 に答える
1

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

于 2011-08-18T13:40:01.940 に答える