Succinct Representations of Dynamic Strings

The rank and select operations over a string of length n from an alphabet of size σ have been used widely in the design of succinct data structures. In many applications, the string itself must be maintained dynamically, allowing characters of the string to be inserted and deleted. Under the word RAM model with word size w = Ω(lg n), we design a succinct representation of dynamic strings using nH0+o(n)ċlg σ+O(w) bits to support rank, select, insert and delete in O( lg n/lg lg n ( lg σ/lg lg n +1)) time. When the alphabet size is small, i.e. when σ = O(polylog(n)), including the case in which the string is a bit vector, these operations are supported in O( lg n/lg lg n ) time. Our data structures are more efficient than previous results on the same problem, and we have applied them to improve results on the design and construction of space-efficient text indexes.

[1]  Jérémy Barbay,et al.  Succinct Representation of Labeled Graphs , 2007, Algorithmica.

[2]  J. Ian Munro,et al.  Succinct Representation of Balanced Parentheses and Static Trees , 2002, SIAM J. Comput..

[3]  Roberto Grossi,et al.  High-order entropy-compressed text indexes , 2003, SODA '03.

[4]  Fabrizio Luccio,et al.  Compressing and indexing labeled trees, with applications , 2009, JACM.

[5]  Jan van Leeuwen,et al.  Worst-Case Optimal Insertion and Deletion Methods for Decomposable Searching Problems , 1981, Inf. Process. Lett..

[6]  Rodrigo González,et al.  Rank/select on dynamic compressed sequences and applications , 2009, Theor. Comput. Sci..

[7]  Gonzalo Navarro,et al.  An Alphabet-Friendly FM-Index , 2004, SPIRE.

[8]  Wing-Kai Hon,et al.  A Framework for Dynamizing Succinct Data Structures , 2007, ICALP.

[9]  Michael E. Saks,et al.  The cell probe complexity of dynamic data structures , 1989, STOC '89.

[10]  Kunsoo Park,et al.  Dynamic rank/select structures with applications to run-length encoded texts , 2009, Theor. Comput. Sci..

[11]  S. Srinivasa Rao,et al.  Succinct indexes for strings, binary relations and multi-labeled trees , 2007, SODA '07.

[12]  Rajeev Raman,et al.  Succinct Dynamic Data Structures , 2001, WADS.

[13]  Gonzalo Navarro,et al.  Fully-functional succinct trees , 2010, SODA '10.

[14]  Gonzalo Navarro,et al.  Compressed representations of sequences and full-text indexes , 2007, TALG.

[15]  Guy Jacobson,et al.  Space-efficient static trees and graphs , 1989, 30th Annual Symposium on Foundations of Computer Science.

[16]  Rajeev Raman,et al.  Succinct ordinal trees with level-ancestor queries , 2004, SODA '04.

[17]  S. Srinivasa Rao,et al.  Adaptive Searching in Succinctly Encoded Binary Relations and Tree-Structured Documents , 2006, CPM.

[18]  Wing-Kai Hon,et al.  Compressed indexes for dynamic text collections , 2007, TALG.

[19]  Rajeev Raman,et al.  Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets , 2007, ACM Trans. Algorithms.

[20]  Rudolf Fleischer A Simple Balanced Search Tree with O(1) Worst-Case Update Time , 1996, Int. J. Found. Comput. Sci..

[21]  Gonzalo Navarro,et al.  Dynamic entropy-compressed sequences and full-text indexes , 2006, TALG.

[22]  David R. Clark,et al.  Efficient suffix trees on secondary storage , 1996, SODA '96.

[23]  Wing-Kai Hon,et al.  Compressed Index for a Dynamic Collection of Texts , 2004, CPM.

[24]  Guy E. Blelloch,et al.  Compact representations of ordered sets , 2004, SODA '04.