Implementación existente de Btree o B + tree en Java [cerrado]


Estoy haciendo un proyecto en el que requiero una estructura de datos btree o b+tree. ¿Alguien sabe de una implementación existente de btree o b + tree (con insert, delete, algoritmos de búsqueda)? Debe aceptar string como entrada y formar btree o b+tree de estas cadenas.

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

4 answers

En la falta de detalles sobre el problema que necesita resolver, voy a permitirme sugerir una solución alternativa que podría resolver su problema: use un árbol rojo/negro en su lugar.

El árbol rojo / negro puede ser considerado como un árbol b, como se explica en Wikipedia :

Un árbol rojo-negro es similar en estructura a un árbol B de orden 4, donde cada nodo puede contener entre 1 y 3 valores y (en consecuencia) entre 2 y 4 punteros secundarios. En tal B-tree, cada nodo contendrá solo un valor que coincida con el valor en un nodo negro del árbol rojo-negro, con un valor opcional antes y / o después de él en el mismo nodo, ambos coincidiendo con un nodo rojo equivalente del árbol rojo-negro [...]

Java tiene dos clases integradas, TreeMap y TreeSet, que proporcionan árboles rojos/negros. Ninguno de estos tomará una cadena como entrada y crecerá un árbol a partir de ella, pero es posible que pueda implementar algo similar "alrededor" de uno de esos clase.

 15
Author: Jørn Schou-Rode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-26 10:43:56

Jdbm tiene una implementación muy sólida de b+tree. También h + árbol que es una interesante estructura de datos relacionados.

 12
Author: Kevin Day,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-05 05:15:17

He tenido que implementar mi propio código de código abierto .

 5
Author: Justin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-21 13:56:31

Podrías probar el árbol de Electric (la página del autor aquí ).

 0
Author: Charles Goodwin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-18 13:40:01