Two algorithms for maintaining order in a list
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
Improved dynamic dictionary matching
Information and Computation
The string B-tree: a new data structure for string search in external memory and its applications
Journal of the ACM (JACM)
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
Efficient string matching: an aid to bibliographic search
Communications of the ACM
Design of Dynamic Data Structures
Design of Dynamic Data Structures
COCOON '96 Proceedings of the Second Annual International Conference on Computing and Combinatorics
Two Simplified Algorithms for Maintaining Order in a List
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
FOCS '98 Proceedings of the 39th Annual Symposium on Foundations of Computer Science
Optimal External Memory Interval Management
SIAM Journal on Computing
New text indexing functionalities of the compressed suffix arrays
Journal of Algorithms
Journal of the ACM (JACM)
Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching
SIAM Journal on Computing
Compressed indexes for dynamic text collections
ACM Transactions on Algorithms (TALG)
Compressed Suffix Trees with Full Functionality
Theory of Computing Systems
Compressed Index for Dictionary Matching
DCC '08 Proceedings of the Data Compression Conference
Linear pattern matching algorithms
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
Succinct dictionary matching with no slowdown
CPM'10 Proceedings of the 21st annual conference on Combinatorial pattern matching
Compression, indexing, and retrieval for massive string data
CPM'10 Proceedings of the 21st annual conference on Combinatorial pattern matching
Succinct 2D dictionary matching with no slowdown
WADS'11 Proceedings of the 12th international conference on Algorithms and data structures
Hi-index | 0.00 |
In this paper we revisit the dynamic dictionary matching problem, which asks for an index for a set of patterns P 1, P 2, ..., P k that can support the following query and update operations efficiently. Given a query text T, we want to find all the occurrences of of these patterns; furthermore, as the set of patterns may change over time, we also want to insert or delete a pattern. The major contribution of this paper is the first succinct index for dynamic dictionary matching. Prior to our work, the most compact index is given by Chan et al. (2007), which is based on the compressed suffix arrays (Grossi and Vitter (2005) and Sadakane (2003)) and the FM-index (Ferragina and Manzini (2005)), and it requires O(n 驴) bits where n is the total length of patterns and 驴 is the alphabet size. We develop a dynamic succinct index using a different (and simpler) paradigm based on suffix sampling. The new index not only improves the space complexity to (1 + o(1))n log驴 + O(klogn) bits, but also the time complexity of the query and update operations. Specifically, the query and update operations respectively take O(|T|logn + occ) and O(|P|log驴 + logn) times, where occ is the number of occurrences.