问题标签 [b-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
314 浏览

rdbms - 数据库管理中的B Trees是如何进行并发操作的?

数据库管理中的 B 树如何进行并发操作?它们是如何实际实施和完成的?

0 投票
1 回答
2181 浏览

mysql - innodb b-tree 中的内部节点是如何物理存储的?

非叶b 树节点在 innodb 中是如何物理表示的?

回想一下,b-tree(更具体地说是 b+tree)具有叶节点和非叶节点。在 b+tree 中,所有叶节点都位于非叶或“内部”节点树的下方,并指向实际包含行数据的页面。

我知道非叶节点存储在非叶节点段中,并使用类似于数据页的页面。我找到了有关如何物理存储数据页的大量文档,但是我无法找到有关非叶索引页的外观的任何内容。

0 投票
2 回答
5390 浏览

c++ - b树的中序遍历(c ++)

我正在为我目前正在学习的一门课程研究 B 树(或者它是 BTree?)。我大部分都正确实施(我认为)。但是,我无法确定中序遍历。这是我的主要功能:

所以我创建了一个包含字符的 5 路 btree。我将每个字符插入到树中,然后显示每次迭代的中序遍历以进行调试。这是我得到的输出:

在几乎所有这些字符中,一些字符是重复的,但在插入之间不一致,所以(对我而言)似乎没有重复数据进入。我似乎无法理解它,但这是我的中序法:

在我的节点实现中,count 是树中“数据”(每个字符)的数量。count+1 将是非叶节点从节点上脱落的分支数。分支是下一组节点的数组,数据是字符数组。

这是我的节点实现:

这是用于插入的所有内容:

0 投票
1 回答
1024 浏览

database - B+ 树插入 - 理论问题

我一直在尝试了解 B+ Tree 的工作原理并尝试解决示例。

在此处列出的一个此类文档中,在第 8 页给出的示例 1 中。它描述了 B+ 树结构,其中每个节点的“n”个搜索键值 - 给出为 4。

一切都按照规则进行,直到第三步,但突然在第四步你看到根节点被分裂,其他分裂即将到来。我明白为什么节点 17,19,21 被拆分(这显然没有在文本中显示)。但我很惊讶为什么根被分裂了。任何人都可以向我澄清这一点,或者提出一个更好的例子,这个例子非常复杂,但有一个更独特和循序渐进的方法。

0 投票
2 回答
4790 浏览

c - 如何在 B+ Tree 中实现字符串键?

许多 b+ 树示例是使用整数键实现的,但我见过其他一些同时使用整数键和字符串键的示例,我学习了 b+ 树的基础,但我不明白字符串键是如何工作的?

0 投票
2 回答
2936 浏览

java - Btree 实现

我正在编写使用 B+ 树数据结构的数据库模型。我知道如何仅使用 RAM 在 Java 上实现此结构。但是我需要在磁盘上写入数据(每次写入,修改或删除时)

我怎样才能实现这个结构?

0 投票
1 回答
742 浏览

informix - C-ISAM 文件一致性

INFORMIX-SE 4.10.DD6:我似乎遇到了一些虚假问题,例如我的 SE 数据库中缺少 C-ISAM 文件的指针。当我执行“bcheck -y FILE_123”时,它说它已重建索引并修复了问题,但是当我再次对其重新运行 bcheck 时,它会重复相同的错误消息并说它已修复它,但不是真的!我知道这是一个不受支持/过时的 SE 版本,但如果您能想到除卸载/删除表/重新创建并重新加载之外的任何其他解决方法,我将不胜感激。当我使用 SE 2.10.06 时,bcheck 工作正常,但自从升级到 4.10 后,C-ISAM 文件和 bcheck 就出现了问题。

0 投票
1 回答
694 浏览

python - bsddb 和 reprepro (berkeley) 数据库

我正在尝试读取由reprepro. 我对 bdb 没有太多经验,所以在这里我可能会感到困惑,但看起来数据库以某种方式分层。

如果我只是这样做btopen('path/to/packages.db', 'r'),我会得到包含以下内容的数据库对象:

但是 db4.6_dump 显示:

文件本身被标识为:/var/packages/db/packages.db: Berkeley DB (Btree, version 9, native byte-order)file.

我如何获得这些内容?如果我理解正确,我只得到了keys(). 我现在如何获取这些数据库的内容?

0 投票
3 回答
2456 浏览

java - 如何在java中直观地显示b-tree?

我正在实现一个 B-Tree,并希望在一个简单的 UI(或文本输出)中显示它以进行调试。你会推荐哪个图书馆尽快做到这一点?

这只是作为一个调试工具,它应该尽可能简单——我不想为此浪费时间学习一个复杂的 UI 框架。如果您知道可以将其打印到 STDOUT 的内容,那也没关系。

0 投票
2 回答
2587 浏览

mysql - 如何将 HEAP/MEMORY MySQL 表的索引从 HASH 更改为 BTREE?

我有一个从 MyISAM 转换而来的具有 HEAP/MEMORY 存储类型的 MySQL 表。索引会自动转换为 HASH,但我需要它们是 BTREE。如何将它们从 HASH 更改为 BTREE?