The cell probe complexity of dynamic data structures
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
Journal of Computer and System Sciences
Improved dynamic dictionary matching
Information and Computation
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
Journal of the ACM (JACM)
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Reducing the space requirement of suffix trees
Software—Practice & Experience
Efficient string matching: an aid to bibliographic search
Communications of the ACM
Design of Dynamic Data Structures
Design of Dynamic Data Structures
Succinct representations of lcp information and improvements in the compressed suffix arrays
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Succinct Representation of Balanced Parentheses and Static Trees
SIAM Journal on Computing
High-order entropy-compressed text indexes
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
A Space and Time Efficient Algorithm for Constructing Compressed Suffix Arrays
COCOON '02 Proceedings of the 8th Annual International Conference on Computing and Combinatorics
Efficient Randomized Dictionary Matching Algorithms (Extended Abstract)
CPM '92 Proceedings of the Third Annual Symposium on Combinatorial Pattern Matching
Opportunistic data structures with applications
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
Efficient approximate and dynamic matching of patterns using a labeling paradigm
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
When indexing equals compression: experiments with compressing suffix arrays and applications
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Journal of the ACM (JACM)
Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching
SIAM Journal on Computing
Dynamic entropy-compressed sequences and full-text indexes
ACM Transactions on Algorithms (TALG)
Dynamic Fully-Compressed Suffix Trees
CPM '08 Proceedings of the 19th annual symposium on Combinatorial Pattern Matching
An Improved Succinct Representation for Dynamic k-ary Trees
CPM '08 Proceedings of the 19th annual symposium on Combinatorial Pattern Matching
An Online Algorithm for Finding the Longest Previous Factors
ESA '08 Proceedings of the 16th annual European symposium on Algorithms
Dynamic Succinct Ordered Trees
ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
Rank/select on dynamic compressed sequences and applications
Theoretical Computer Science
k2-Trees for Compact Web Graph Representation
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Succinct Text Indexing with Wildcards
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Compressed Suffix Arrays for Massive Data
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Faster entropy-bounded compressed suffix trees
Theoretical Computer Science
Succinct Index for Dynamic Dictionary Matching
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
A faster algorithm for matching a set of patterns with variable length don't cares
Information Processing Letters
Improved dynamic rank-select entropy-bound structures
LATIN'08 Proceedings of the 8th Latin American conference on Theoretical informatics
The compressed permuterm index
ACM Transactions on Algorithms (TALG)
Fully-functional succinct trees
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
Compression, indexing, and retrieval for massive string data
CPM'10 Proceedings of the 21st annual conference on Combinatorial pattern matching
Faster compressed dictionary matching
SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
Succinct representations of dynamic strings
SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
Succinct representation of dynamic trees
Theoretical Computer Science
Space-efficient construction of Lempel-Ziv compressed text indexes
Information and Computation
ACM Transactions on Algorithms (TALG)
Succinct dynamic cardinal trees with constant time operations for small alphabet
TAMC'11 Proceedings of the 8th annual conference on Theory and applications of models of computation
Succinct 2D dictionary matching with no slowdown
WADS'11 Proceedings of the 12th international conference on Algorithms and data structures
Succinct indexes for circular patterns
ISAAC'11 Proceedings of the 22nd international conference on Algorithms and Computation
Dynamizing succinct tree representations
SEA'12 Proceedings of the 11th international conference on Experimental Algorithms
CPM'12 Proceedings of the 23rd Annual conference on Combinatorial Pattern Matching
Efficient algorithm for circular burrows-wheeler transform
CPM'12 Proceedings of the 23rd Annual conference on Combinatorial Pattern Matching
Faster compressed dictionary matching
Theoretical Computer Science
Journal of Discrete Algorithms
Hi-index | 0.00 |
Let T be a string with n characters over an alphabet of constant size. A recent breakthrough on compressed indexing allows us to build an index for T in optimal space (i.e., O(n) bits), while supporting very efficient pattern matching [Ferragina and Manzini 2000; Grossi and Vitter 2000]. Yet the compressed nature of such indexes also makes them difficult to update dynamically. This article extends the work on optimal-space indexing to a dynamic collection of texts. Our first result is a compressed solution to the library management problem, where we show an index of O(n) bits for a text collection L of total length n, which can be updated in O(|T| log n) time when a text T is inserted or deleted from L; also, the index supports searching the occurrences of any pattern P in all texts in L in O(|P| log n + occ log2 n) time, where occ is the number of occurrences. Our second result is a compressed solution to the dictionary matching problem, where we show an index of O(d) bits for a pattern collection D of total length d, which can be updated in O(|P| log2 d) time when a pattern P is inserted or deleted from D; also, the index supports searching the occurrences of all patterns of D in any text T in O((|T| + occ)log2 d) time. When compared with the O(d log d)-bit suffix-tree-based solution of Amir et al. [1995], the compact solution increases the query time by roughly a factor of log d only. The solution to the dictionary matching problem is based on a new compressed representation of a suffix tree. Precisely, we give an O(n)-bit representation of a suffix tree for a dynamic collection of texts whose total length is n, which supports insertion and deletion of a text T in O(|T| log2 n) time, as well as all suffix tree traversal operations, including forward and backward suffix links. This work can be regarded as a generalization of the compressed representation of static texts. In the study of the aforementioned result, we also derive the first O(n)-bit representation for maintaining n pairs of balanced parentheses in O(log n/log log n) time per operation, matching the time complexity of the previous O(n log n)-bit solution.