_:n161124605ad34361b39f60f438a67c26xb17
<http://schema.org/description>
"The Fenwick tree is a classical implicit data structure that stores an array\nin such a way that modifying an element, accessing an element, computing a\nprefix sum and performing a predecessor search on prefix sums all take\nlogarithmic time. We introduce a number of variants which improve the classical\nimplementation of the tree: in particular, we can reduce its size when an upper\nbound on the array element is known, and we can perform much faster predecessor\nsearches. Our aim is to use our variants to implement an efficient dynamic bit\nvector: our structure is able to perform updates, ranking and selection in\nlogarithmic time, with a space overhead in the order of a few percents,\noutperforming existing data structures with the same purpose. Along the way, we\nhighlight the pernicious interplay between the arithmetic behind the Fenwick\ntree and the structure of current CPU caches, suggesting simple solutions that\nimprove performance significantly."
<http://api.deepai.org/profile/sebastiano-vigna>