Deconstruindo Árvores de Fenwick com Programação Funcional
2025-01-25
Este artigo mergulha na implementação de árvores de Fenwick (também conhecidas como árvores indexadas binárias). Começando com a árvore de segmentos mais facilmente compreensível, o autor usa programação funcional e raciocínio equacional para derivar a implementação de árvores de Fenwick, revelando a lógica por trás de suas operações bit a bit aparentemente misteriosas. Ao usar habilmente um Haskell EDSL para operar em números binários de complemento de dois infinitos, o artigo finalmente explica o segredo da implementação eficiente de árvores de Fenwick e prova a complexidade de tempo logarítmica de suas operações de atualização e consulta de intervalo.