TADM2E 3.13
From Algorithm Wiki
Revision as of 18:15, 8 July 2017 by Brandon.arnold (talk | contribs)
Note: the following solution does not meet the requirements of the problem, having a binary tree of n leaves and thus O(n) nodes. The requirements are to use no more than an n-size array:
Construct a balanced binary tree with n leaves; stick the elements along the bottom of the tree in their original order.
Querying a partial-sum goes like this: Descend the tree towards the query (leaf) node, but whenever you descend right, add the subtree-sum on the left, since we know for sure those elements are in the sum.