Abstract

The notion of succinct indexes can be dated back from the debut of Jacobson’s thesis (1988) [14], and has triggered many results in the last decade. In traditional indexing, some given data are preprocessed so as to support online queries (and updates) on the data as efficiently as possible. When succinctness is involved, we are restricted to index the data using only an information–theoretically minimum number of bits. This paper concerns the succinct indexing schemes for a well-studied problem called Searchable Partial Sums ( SPS). In SPS, an array A of n non-negative k -bit integers is preprocessed so as to support online sum and search queries, and possibly update operation of individual entry. A succinct indexing scheme would allow only k n + o ( k n ) bits to represent the array A . The only known result is that when k = 1 (in this case, it is known as the Dynamic Bit Array Problem), we can support both queries in O ( log b n ) time and update in O ( b ) amortized time for any b with lg n / lg lg n ≤ b ≤ n . This paper shows that even for k = O ( lg lg n ) , we can index A succinctly such that both query and update operations can be supported using the same time complexities. Moreover, the time for update becomes the worst-case time. Furthermore, the tradeoff between the query times and the update time is optimal as implied by Paˇtraşcu and Demaine’s lower bound result (2006) [24]. In general when k = O ( lg U ) , we show a lower bound of Ω ( lg n / lg lg n ) time for the search query irrespective of the update time. This gives a tighter lower bound as compared to that of Paˇtraşcu and Demaine’s, which is a consequence of the requirement of succinctness. On the other hand, we give a succinct index that can support sum in O ( log b n ) time, search in O ( τ log b n ) time, and update in O ( b ) time, where τ = min { lg lg n lg lg U / lg lg lg U , lg n / lg lg n } . The query times are optimal when b = n ϵ . This paper also extends the Searchable Partial Sums with insert and delete operations, and provides a succinct data structure for some cases.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call