什么是好的 C 语言开源 B 树实现?[关闭]

What is a good open source B-tree implementation in C? [closed]

提问人:Tall Jeff 提问时间:8/28/2008 最后编辑:Tall Jeff 更新时间:9/27/2012 访问量:30098

问:


要求我们推荐或查找工具、库或最喜欢的场外资源的问题对 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,描述问题以及到目前为止为解决该问题所做的工作。

9年前关闭。

我正在寻找一个用 C 语言编写的 B 树库的精简且结构良好的开源实现。它需要在非 GPL 许可下使用,以便可以在商业应用中使用。理想情况下,该库支持将 B 树索引存储/操作为磁盘文件,以便可以使用可配置的(即:最小)RAM 占用空间来构建大树。

注意:由于似乎存在一些混淆,因此二叉树和B树不是一回事。

C 算法 数据结构 B 树

评论


答:

8赞 A. Rex 8/29/2008 #1

SQLite实现的作者已声明版权。如果 LGPL 没问题,那么也许你可以使用 GNUpdate 的实现

评论

0赞 Janus Troelsen 12/31/2013
GNUpdate 是一个 B+Tree
6赞 florin 1/7/2009 #2

如果LGPL没问题,那么东京内阁可能符合要求。LGPL 允许与非自由应用程序链接,而不会对最终产品的分发添加任何限制。

评论

0赞 florin 1/27/2012
它似乎已经搬到了 fallabs.com/tokyocabinet.
0赞 Lothar 5/16/2014
Kyoto Cabinet 是 Tokyo Cabinet 的 GPL 后续版本,但在使用一段时间后,它有一些非常糟糕的习惯,例如没有异常处理等 std::bad_alloc 应用程序崩溃或未定义和不受约束的内存使用模式。
0赞 bill 6/15/2009 #3

也许你可以考虑伯克利数据库。它在内部使用 b 树。

2赞 dkretz 6/15/2009 #4

我遇到了这个 - 用于 SCM、Java、C# 和 C 的 WB B-Tree 数据库,这是一个 GNU 包。

3赞 Lear 6/15/2009 #5

有吸引力的混沌实现 kbtree.h。这是一个高效的 B 树库

6赞 Paul 3/15/2012 #6

查看 QDBM:http://fallabs.com/qdbm/。它是 LGPL(可用于商业应用程序),实现具有任意键/值对的磁盘支持的哈希和/或 B+ 树,并在各种平台上构建。

评论

0赞 Tall Jeff 3/16/2012
好!- 这是对列表的一个很好的补充。谢谢!
0赞 Tall Jeff 3/16/2012
转念一想,我认为这也应该是首选答案。