Implémentation existante de Btree ou B + tree en Java [fermé]


Je fais un projet dans lequel j'ai besoin d'une structure de données btree ou b+tree. Quelqu'un connaît-il une implémentation existante de btree ou b+tree (avec des algorithmes d'insertion, de suppression, de recherche)? Il doit accepter la chaîne en entrée et former btree ou b+tree de ces chaînes.

Author: Jørn Schou-Rode, 2010-04-04

4 answers

En l'absence de détails sur le problème que vous devez résoudre, je vais me permettre de suggérer une solution alternative qui pourrait résoudre votre problème: utilisez plutôt un arbre rouge/noir.

L'arbre rouge/noir peut être considéré comme un arbre b, comme expliqué sur Wikipedia :

Un arbre rouge-noir a une structure similaire à un arbre B d'ordre 4, où chaque nœud peut contenir entre 1 à 3 valeurs et (par conséquent) entre 2 à 4 pointeurs enfants. Dans de tels B-tree, chaque nœud contiendra une seule valeur correspondant à la valeur d'un nœud noir de l'arbre rouge-noir, avec une valeur facultative avant et/ou après dans le même nœud, les deux correspondant à un nœud rouge équivalent de l'arbre rouge-noir [...]

Java a deux classes intégrées, TreeMap et TreeSet, fournissant rouge/noir des arbres. Aucun d'entre eux ne prendra une chaîne en entrée et en fera pousser un arbre, mais vous pourrez peut-être implémenter quelque chose de similaire "autour" de l'un d'entre eux classe.

 15
Author: Jørn Schou-Rode, 2014-08-26 10:43:56

Jdbm a une implémentation très solide de b+tree. Aussi h + tree qui est une structure de données connexe intéressante.

 12
Author: Kevin Day, 2010-04-05 05:15:17

J'ai dû implémenter mon propre et open source le code.

 5
Author: Justin, 2013-11-21 13:56:31

Vous pouvez essayer Electric's BTree (page de l'auteur ici).

 0
Author: Charles Goodwin, 2011-08-18 13:40:01