Tag: b tree

C / C ++:如何在B树中的文件中存储数据

在我看来,将数据作为文件存储在B树中的一种方法可以使用具有结构序列(数组)的二进制文件来有效地完成,每个结构代表一个节点。 因此,可以使用与使用数组创建链接列表类似的方法来连接各个节点。 但是,支持的问题是删除节点,因为在一个巨大的文件中只删除中间的几个字节是不可能的。 一种删除方法可以是跟踪“空”节点,直到达到阈值截止,然后制作另一个将丢弃空节点的文件。 但这很乏味。 从简单/效率的角度来看,是否有更好的方法来删除,甚至在文件中表示B树? TIA,-Sviiya

在B树中找到第k个密钥的算法?

我试图理解如何考虑在B树中获取第k个键/元素。 即使它是步骤而不是代码,它仍然会有很多帮助。 谢谢 编辑:为了清理,我要求B树中的第k个最小的键。

在C ++或C中寻找基于磁盘的B +树实现

我正在寻找一个轻量级的开源分页B +树实现,它使用磁盘文件来存储树。 到目前为止,我发现只有基于内存的实现 ,或者依赖于QT(?!)并且甚至不编译的东西。 现代C ++是首选,但C也会这样做。 我更喜欢避免完全嵌入式DBMS解决方案,因为:1)对于我的需求裸骨索引,可以使用最简单的磁盘文件组织就足够了,不需要并发性,primefaces性和其他一切。 2)我使用它来构建我自己的索引,并且很可能会改变一些算法和存储布局。 我想以最少的努力做到这一点。 它不会是生产代码。