O que é uma boa implementação de árvore B de código aberto em C?[fechado]
-
09-06-2019 - |
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.
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.