问题标签 [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 回答
373 浏览

indexing - btree 中的 btree 与 mysql 或 postgres

mysql 和/或 postgres 在 btree 的叶子中是否有小 btree?假设我在多个列上使用索引,那么这将是一个不错的功能。

或者索引中的键只是一个分隔符分隔的东西?

0 投票
3 回答
1905 浏览

java - 用于搜索文件的最佳磁盘数据结构?

我花了几个小时阅读与该问题相关的帖子,以尝试提出解决方案,但我并没有真正成功地提出解决方案。

所以这里是这样的:我曾经在一次采访中被问到,如果文件中存在特定的单词,我将使用哪种数据结构来搜索。该文件也被认为大到无法放入内存中,面试官确实在寻找磁盘上的解决方案。

B-Tree 是磁盘上的数据结构吗?

二叉搜索树是一种内存数据结构,不是吗?

0 投票
3 回答
225 浏览

mysql - 比较数据库及其锁

我有繁重的事务处理,并想了解有关如何在当前数据库中实现锁的信息。在零预算下工作,我的选择仅限于 mysql 5.5 和 postgres 9.0。

有没有比较锁的网站?

从文献中我知道您可以拥有只读和读写锁,并且处理锁的一种好方法是阻止数据的路径。这意味着阻塞 btree 的一部分。但我找不到关于这些数据库如何工作的细节。

非常感谢。

0 投票
4 回答
8085 浏览

algorithm - 如何从 b-tree 中删除元素?

我正在尝试了解 b-tree,而我能找到的每个来源似乎都忽略了有关如何在保留 b-tree 属性的同时从树中删除元素的讨论。

有人可以解释算法或指向我解释它是如何完成的资源吗?

0 投票
2 回答
179 浏览

database - 可扩展数据库、索引的最佳并发模型?

我对相对容易实现并且适合扩展(多节点)的并发技术很感兴趣。

另外,如果您知道一些更高级的算法,请提供一些信息。

希望这个话题对其他人有用。谢谢!

更新

我对 nosql 存储和模型很感兴趣。

0 投票
1 回答
369 浏览

postgresql - 混合“类似索引”的 btree 结构 - PostgreSQL 可以做到这一点吗?

我是 PostgreSQL 新手。我对需要构建的混合数据库有一个非常不寻常的要求。从我见过的模块来看,在我看来,以下是可能的。

我需要能够将 key - [values] 添加到索引中,而无需实际将数据添加到表中。简单地说,我需要一个 key-[values] 存储,最好是一个 btree(查找速度)。索引结构是理想的。也许另一种结构可以做到这一点。

具体来说,我希望存储如下内容:

我不希望存储这些数据和索引它的开销。可以这么说,我只需要“索引但未存储”的数据。

同样重要的是能够查询这些结构并获取数据(ID),并能够在 ID 上执行 INTERSECTS 等,并在键上执行 IN、BETWEEN、= 等。

正如您可能猜到的,最终目标是最终的 ID 列表,然后将其发送给客户端,并随意查找。

编辑

我不想要的是记录每个值的键。使用上面的示例,我不想存储 {Blue, 10}、{Blue, 20} 等。我想存储 {Blue, [10, 20, 23, 47]}。

如果我将其存储为传统表格,则无法解决此重复问题。

再看一下 Blue,[10, 20, 23, 47]},这在技术上只不过是一个 btree,其中 ID (10, 20, 23, 47) 被标记为值,父键“Blue”被标记为键。

由于这种数据类型不匹配可能在一棵树中很混乱,我认为理想的解决方案是“[btrees] in a btree”,其中“btree”是键,而 [btrees] 是 a 的每组值的 btree钥匙。

0 投票
4 回答
2641 浏览

sql-server - PostgreSQL & SQL Server btree 存储基础问题

我知道 SQL Server 可以在聚集索引中的叶级存储行的数据。我相信 PostgreSQL 不会这样做。如果是这样,它的存储范式是什么?

我的主要问题如下。考虑以下设计和数据(显示在 T-SQL 中):

由于这是一个两列都作为 PK 的 btree,我是否正确地说“[Key] = 1”只会存储一次,而“ID = [1,2,3,4]”将是单独的值btree,而每个 sé 不会有叶值,因为没有不属于 PK 的行列?

这将如何在 PostgreSQL 中工作?

0 投票
1 回答
1698 浏览

data-structures - 如何进行 B-Tree 插入

我正在尝试将 3 个值插入到此 B 树中,即 60、61 和 62。我了解如何在节点已满且父节点为空时插入值,但如果父节点已满怎么办?

例如,当我插入 60 和 61 时,该节点现在将已满。我无法扩展父级或父级的父级(因为它们已满)。那么我可以改变父母的价值观吗?我在插入之前和之后提供了 B 树的图像。

在插入 60、61、62 之前 尝试插入 60、61、62: 后 注意我将根中的 66 更改为 62,并将 62 添加到 <72 节点。这是正确的方法吗?

0 投票
4 回答
6343 浏览

java - Java的轻量级B树库?

任何人都可以为 Java 推荐一个轻量级、快速且希望稳定的 B-tree(或类似)库吗?

本质上,我正在寻找磁盘上的地图;类似于 BerkeleyDB JE 的东西,除了我不需要事务,对只读并发很好,并且需要它的大小约为 1/10(BSD 或 Apache 许可证也很好)。

需要纯 Java,所以没有东京/京都内阁。

实现相关Collections接口将是一个加分项(或者,原始类型的模板化接口也很好)。

JDBM看起来还不错,但它似乎在 2005 年就被放弃了(在 1.0 时,不少于)。

还有DiskBackedMap,但他们在一年前发布了一个 alpha 版,之后就没有了。

外面还有什么吗?或者上面提到的有什么经验吗?

想要的东西:

  • 进程内关系数据库(所以没有 H2、Derby、SQLite 等)
  • 分布式键值存储(没有 Redis、Memcachedb、Cassandra、Voldemort、Dumbledore 或其他)
0 投票
1 回答
913 浏览

c - btree 实现中的分段错误

任何人都可以帮助消除此分段错误。我在这个代码上工作了一周仍然无法调试它。这段代码是一个 Btree 实现。插入部分工作正常,但删除时出现分段错误。我无法调试它,有人可以帮忙吗?

我已经根据此链接给出了输入(已将字母值转换为 ASCII 值) http://cis.stvincent.edu/html/tutorials/swd/btree/btree.html

当我删除第一个H(等效 ASCII 值)时,它可以正常工作,但是当我删除T(等效 ASCII 值)时,我会遇到分段错误。

可能是什么问题呢?