Compressing Dictionary Matching Index via Sparsification Technique
Document Type
Article
Publication Date
6-1-2015
Abstract
Given a set $\mathcal{D}$ of patterns of total length n, the dictionary matching problem is to index $\mathcal{D}$ such that for any query text T, we can locate the occurrences of any pattern within T efficiently. This problem can be solved in optimal O(|T|+occ) time by the classical AC automaton (Aho and Corasick in Commun. ACM 18(6):333–340, 1975), where occ denotes the number of occurrences. The space requirement is O(n) words which is still far from optimal. In this paper, we show that in many cases, sparsification technique can be applied to improve the space requirements of the indexes for the dictionary matching and its related problems. First, we give a compressed index for dictionary matching, and show that such an index can be generalized to handle dynamic updates of $\mathcal{D}$. Also, we give a compressed index for approximate dictionary matching with one error. In each case, the query time is only slowed down by a polylogarithmic factor when compared with that achieved by the best O(n)-word counterparts.
Publication Source (Journal or Book title)
Algorithmica
First Page
515
Last Page
538
Recommended Citation
Hon, W., Ku, T., Lam, T., Shah, R., Tam, S., Thankachan, S., & Vitter, J. (2015). Compressing Dictionary Matching Index via Sparsification Technique. Algorithmica, 72 (2), 515-538. https://doi.org/10.1007/s00453-013-9863-3