Compressed Data Structures for Dynamic Sequences

From MaRDI portal



Abstract: We consider the problem of storing a dynamic string S over an alphabet Sigma=,1,ldots,sigma, in compressed form. Our representation supports insertions and deletions of symbols and answers three fundamental queries: mathrmaccess(i,S) returns the i-th symbol in S, mathrmranka(i,S) counts how many times a symbol a occurs among the first i positions in S, and mathrmselecta(i,S) finds the position where a symbol a occurs for the i-th time. We present the first fully-dynamic data structure for arbitrarily large alphabets that achieves optimal query times for all three operations and supports updates with worst-case time guarantees. Ours is also the first fully-dynamic data structure that needs only nHk+o(nlogsigma) bits, where Hk is the k-th order entropy and n is the string length. Moreover our representation supports extraction of a substring S[i..i+ell] in optimal O(logn/loglogn+ell/logsigman) time.




Cited in
(29)








This page was built for publication: Compressed Data Structures for Dynamic Sequences

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q3452849)