我正在做一个需要 btree 或 b+tree 数据结构的项目。有谁知道 btree 或 b+tree 的现有实现(带有插入、删除、搜索算法)?它应该接受字符串作为输入并形成这些字符串的 btree 或 b+tree。
问问题
43856 次
4 回答
16
由于缺乏有关您需要解决的问题的详细信息,我将允许自己提出一个可能解决您的问题的替代解决方案:改用红/黑树。
如Wikipedia所述,红/黑树可以被认为是 b 树:
红黑树在结构上类似于 4 阶 B 树,其中每个节点可以包含 1 到 3 个值和(相应地)2 到 4 个子指针。在这样的 B 树中,每个节点将只包含一个与红黑树的黑色节点中的值匹配的值,在同一节点中它之前和/或之后有一个可选值,两者都匹配红黑树的一个等效的红色节点。红黑树 [...]
Java 有两个内置类TreeMap和TreeSet,提供红/黑树。这些都不会将字符串作为输入并从中生成一棵树,但是您可能能够“围绕”其中一个类实现类似的东西。
于 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 回答