26

我正在做一个需要 btree 或 b+tree 数据结构的项目。有谁知道 btree 或 b+tree 的现有实现(带有插入、删除、搜索算法)?它应该接受字符串作为输入并形成这些字符串的 btree 或 b+tree。

4

4 回答 4

16

由于缺乏有关您需要解决的问题的详细信息,我将允许自己提出一个可能解决您的问题的替代解决方案:改用红/黑树。

如Wikipedia所述,红/黑树可以被认为是 b 树:

红黑树在结构上类似于 4 阶 B 树,其中每个节点可以包含 1 到 3 个值和(相应地)2 到 4 个子指针。在这样的 B 树中,每个节点将只包含一个与红黑树的黑色节点中的值匹配的值,在同一节点中它之前和/或之后有一个可选值,两者都匹配红黑树的一个等效的红色节点。红黑树 [...]

Java 有两个内置类TreeMapTreeSet,提供红/黑树。这些都不会将字符串作为输入并从中生成一棵树,但是您可能能够“围绕”其中一个类实现类似的东西。

于 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 回答