我正在寻找一个用C语言编写的B树库的精简和构建良好的开源实现。它需要在非GPL许可下才能在商业应用程序中使用。理想情况下,此库支持将B树索引作为磁盘文件进行存储/操作,以便可以使用可配置(即:最小)RAM占用空间来构建大型树。
注意:由于似乎存在一些混淆,二元树和B树是不相同的事情。
答案 0 :(得分:7)
SQLite implementation的作者放弃了版权。如果LGPL没问题,那么也许你可以使用GNUpdate's implementation?
答案 1 :(得分:6)
如果LGPL没问题,那么Tokyo Cabinet可能符合要求。 LGPL允许链接非自由应用程序,而不会对最终产品的分发添加任何限制。
答案 2 :(得分:5)
查看QDBM:http://fallabs.com/qdbm/。它是LGPL(可以在商业应用中使用),实现具有任意键/值对的磁盘支持哈希和/或B +树,并且构建在各种平台上。
答案 3 :(得分:3)
Attractive Chaos实现kbtree.h。它是一个高效的B树库
答案 4 :(得分:2)
我遇到了this - 用于SCM,Java,C#和C的WB B-Tree数据库,它是一个GNU包。
答案 5 :(得分:0)
也许你可以考虑一下伯克利数据库。它在内部使用了一个b树。