Déconstruire les arbres de Fenwick avec la programmation fonctionnelle
2025-01-25
Cet article explore en profondeur l'implémentation des arbres de Fenwick (aussi connus sous le nom d'arbres indexés binaires). En commençant par l'arbre de segments, plus facile à comprendre, l'auteur utilise la programmation fonctionnelle et le raisonnement équationnel pour dériver l'implémentation des arbres de Fenwick, révélant la logique derrière leurs opérations bit à bit apparemment mystérieuses. En utilisant habilement un Haskell EDSL pour opérer sur des nombres binaires en complément à deux infinis, l'article explique finalement le secret de l'implémentation efficace des arbres de Fenwick et prouve la complexité temporelle logarithmique de ses opérations de mise à jour et de requête de plage.