Pergunta

Estou procurando uma implementação de código aberto enxuta e bem construída de uma biblioteca de árvore B escrita em C.Ele precisa estar sob uma licença não GPL para que possa ser usado em uma aplicação comercial.Idealmente, esta biblioteca suporta que o índice da árvore B seja armazenado/manipulado como um arquivo de disco para que grandes árvores possam ser construídas usando um configurável (ou seja:mínimo) pegada de RAM.

Observação:Como parecia haver alguma confusão, uma árvore binária e uma árvore B são não a mesma coisa.

Foi útil?

Solução

Confira o QDBM: http://fallabs.com/qdbm/.É LGPL (pode ser usado em aplicativos comerciais), implementa um hash apoiado em disco e/ou árvore B+ com pares chave/valor arbitrários e se baseia em uma variedade de plataformas.

Outras dicas

O autor do Implementação SQLite renunciou aos direitos autorais.Se a LGPL estiver correta, talvez você possa usar Implementação do GNUpdate?

Se a LGPL estiver ok, então Gabinete de Tóquio pode caber na conta.A LGPL permite a vinculação com uma aplicação não Gratuita, sem adicionar quaisquer restrições à distribuição do produto final.

Caos atraente implementar kbtree.h.É uma biblioteca eficiente de árvore B

eu me deparei esse - O banco de dados WB B-Tree para SCM, Java, C# e C que é um pacote GNU.

Talvez você possa considerar o Berkeley DB.Ele está usando uma árvore b internamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top