Abstract

We describe a data structure that supports access, rank and select queries, as well as symbol insertions and deletions, on a string S[1,n]S[1,n] over alphabet [1..σ][1..σ] in time O(lg⁡n/lg⁡lg⁡n)O(\lg n/\lg\lg n), which is optimal even on binary sequences and in the amortized sense. Our time is worst-case for the queries and amortized for the updates. This complexity is better than the best previous ones by a Θ(1+lg⁡σ/lg⁡lg⁡n)Θ(1+\lgσ/\lg\lg n) factor. We also design a variant where times are worst-case, yet rank and updates take O(lg⁡n)O(\lg n) time. Our structure uses nH0(S)+o(nlg⁡σ)+O(σlg⁡n)nH_0(S)+o(n\lgσ) + O(σ\lg n) bits, where H0(S)H_0(S) is the zero-order entropy of SS. Finally, we pursue various extensions and applications of the result.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.