関数型プログラミングによるFenwick木の解明
2025-01-25
本論文は、Fenwick木(バイナリインデックスツリーとも呼ばれる)の実装原理を深く掘り下げています。より理解しやすいセグメントツリーから出発し、関数型プログラミングと等式推論を用いて、Fenwick木の実装を段階的に導出し、一見謎めいたビット演算操作の裏にある論理を明らかにします。無限の2の補数2進数に作用するHaskell EDSLを巧みに用いることで、Fenwick木の効率的な実装の秘密を最終的に解き明かし、更新と範囲クエリ操作の対数時間計算量を証明します。