2008-08-28 95 views
31

我正在尋找一個用C語言編寫的B樹庫的精簡且構造良好的開源實現。它需要處於非GPL許可證下,才能用於商業應用程序。理想情況下,該庫支持將B樹索引作爲磁盤文件進行存儲/處理,以便可以使用可配置(即:最小)的RAM佔用空間構建大型樹。C中的一個好的開源B樹實現是什麼?

注:由於似乎有一些混淆,二叉樹和B樹是而不是是同樣的事情。

回答

5

查看QDBM:http://fallabs.com/qdbm/。它是LGPL(可以在商業應用中使用),實現具有任意鍵/值對的磁盤支持哈希和/或B +樹,並構建在各種平臺上。

6

如果LGPL正常,那麼可能符合法案。 LGPL允許與非免費應用程序進行鏈接,而不會對最終產品的分發造成任何限制。

+0

它似乎已經轉移到http://fallabs.com/tokyocabinet/。 – florin 2012-01-27 15:42:43

+0

京都內閣是一個GPL後續東京內閣,但使用它一段時間後,它有一些非常不好的習慣,例如std :: bad_alloc沒有異常處理應用程序崩潰或未定義和不受限制的內存使用模式。 – Lothar 2014-05-16 13:10:31

0

也許你可以考慮伯克利分貝。它在內部使用一棵B樹。

2

我碰到過this - 用於SCM,Java,C#和C的WB B樹數據庫,它是GNU包。