我正在做一个我需要btree或b + tree数据结构的项目。有没有人知道btree或b + tree的现有实现(带插入,删除,搜索算法)?它应该接受字符串作为输入并形成这些字符串的btree或b +树。
答案 0 :(得分:15)
由于缺乏有关您需要解决的问题的详细信息,我将允许自己建议可能解决您的问题的替代解决方案:改为使用红/黑树。 / p>
红色/黑色树可以被认为是b树,如Wikipedia所述:
红黑树在结构上类似于4阶B树,其中每个节点可以包含1到3个值,并且(因此)包含2到4个子指针。在这样的B树中,每个节点将仅包含与红黑树的黑色节点中的值匹配的一个值,在同一节点之前和/或之后具有可选值,两者都匹配等效的红色节点。红黑树[...]
Java有两个内置类TreeMap和TreeSet,提供红/黑树。这些都不会将字符串作为输入并从中生成一个树,但是您可能能够实现类似“围绕”其中一个类的东西。
答案 1 :(得分:12)
jdbm有一个非常可靠的b + tree实现。还有h + tree,这是一个有趣的相关数据结构。
答案 2 :(得分:5)
我必须实现自己的,并开源code。
答案 3 :(得分:0)
您可以尝试使用Electric BTree(author page here)。