Java 中 Btree 或 B+tree 的现有实现

发布于 2024-08-27 19:44:37 字数 1536 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

雪花飘飘的天空 2024-09-03 19:44:37

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

红/黑树可以被认为是 B 树,如 Wikipedia 上的解释

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

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

In the lack of details about the problem that you need to solve, I am going to allow myself to suggest an alternative solution that might solve your problem: use a red/black tree instead.

The red/black tree can be thought of as a b-tree, as explained on Wikipedia:

A red-black tree is similar in structure to a B-tree of order 4, where each node can contain between 1 to 3 values and (accordingly) between 2 to 4 child pointers. In such B-tree, each node will contain only one value matching the value in a black node of the red-black tree, with an optional value before and/or after it in the same node, both matching an equivalent red node of the red-black tree [...]

Java has two built-in classes, TreeMap and TreeSet, providing red/black trees. None of these will take a string as input and grow a tree from it, but you might be able to implement something similar "around" one of those classes.

清醇 2024-09-03 19:44:37

jdbm 有一个非常可靠的 b+tree 实现。还有h+tree,这是一个有趣的相关数据结构。

jdbm has a very solid implementation of b+tree. Also h+tree which is an interesting related data structure.

送你一个梦 2024-09-03 19:44:37

我必须实现自己的开源代码

I've had to implement my own and open sourced the code.

黯然 2024-09-03 19:44:37

您可以尝试 Electric 的 BTree作者页面)。

You could try Electric's BTree (author page here).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文