Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Что такое хорошая реализация B-дерева с открытым исходным кодом в C?

Автор вопроса: Tall JeffОтветов: 6

Я ищу простую и хорошо построенную реализацию библиотеки B-дерева с открытым исходным кодом, написанную на C. Она должна находиться под лицензией без GPL, чтобы ее можно было использовать в коммерческом приложении. В идеале эта библиотека поддерживает индекс B-дерева, который нужно хранить/обрабатывать как файл на диске, чтобы можно было строить большие деревья с использованием настраиваемого (т. е. минимального) объема оперативной памяти.

Примечание. Поскольку возникла некоторая путаница, бинарное дерево и B-дерево - это не одно и то же.

calgorithmdata-structuresb-tree

Ответы

Ответ 1 · рейтинг 6 · Paul

Ознакомьтесь с QDBM: http://fallabs.com/qdbm/. Это LGPL (можно использовать в коммерческом приложении), реализует хэш на основе диска и/или дерево B+ с произвольными парами ключ/значение и строится на различных платформах.

Ответ 2 · рейтинг 7 · A. Rex

Автор реализации SQLite отказался Авторские права. Если с LGPL все в порядке, возможно, вы могли бы использовать реализация GNUpdate?

Ответ 3 · рейтинг 6 · florin

Если с LGPL все в порядке, то Tokyo Cabinet может подойти. LGPL разрешает связывание с платным приложением без каких-либо ограничений на распространение конечного продукта.

Ответ 4 · рейтинг 3 · Lear

Привлекательный хаос реализует kbtree.h. Это эффективная библиотека B-tree

Ответ 5 · рейтинг 2 · dkretz

Я наткнулся на это - базу данных WB B-Tree для SCM, Java, C#, и C это пакет GNU.

Ответ 6 · bill

Может быть, вы можете рассмотреть базу данных Беркли. Он использует B-дерево внутри.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы