Fenwick Tree (BIT)
Prefix sums that also support updates — both in O(log n), in about ten lines of code.
This topic is part of Pro.
Free covers the C and Python courses, the first three DSA topics, the opening system design lessons and the beginner AI lessons, all with the full coach. Pro opens the rest of the library in the FollowtheDamnCode app.
What is in it
- 1The idea behind a Fenwick treeEvery index owns a block whose size is its lowest set bit — so any prefix splits into a few blocks. Pro
- 2Query and update in ten linesPrefix sums walk down by stripping the lowest bit; updates walk up by adding it. Pro
- 3Fenwick trees in problemsCount smaller elements and inversions by indexing on values, and do range updates with a difference array. Pro