To compute prefix sum from to : def query(i): result = 0 while i > 0: result += tree[i] i -= lowbit(i) return result Example: prefix sum up to index : - Add tree[7] (covers just element 7) - - Add tree[6] (covers elements 5-6) - - Add tree[4] (covers elements 1-4) - - Stop you added , which covers all elements to . Time: iterations.
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
$ curl repovive.com/roadmaps/data-structures/fenwick-trees/prefix-sum-query
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███████████████████████████████████████████████████████████████████████████