Abstract
In this work, we focus on building an efficient succinct dynamic dictionary that significantly improves the query time of the current best known results. The algorithm that we propose suffers from only a \( O((\log \log n)^2 )\) multiplicative slowdown in its query time and a \(O(\frac{1}{\epsilon } \log n)\) slowdown for insertion and deletion operations, where n is the sum of all of the patterns’ lengths, the size of the alphabet is \(\textit{polylog}(n)\) and \(\epsilon \in (0,1)\). For general alphabet the query time is \( O((\log \log n) \log \sigma )\), where \(\sigma \) is the size of the alphabet. A byproduct of this paper is an Aho-Corasick automaton that can be constructed with only a compact working space, which is the first of its type to the best of our knowledge.
Similar content being viewed by others
Notes
\(O(|T| + n + occ)\) when using hashing.
Any other non succinct algorithm that requires up to \(O(\log \log n)\) query and update time can be used.
References
Amir, A., Farach, M., Galil, Z., Giancarlo, R., Park, K.: Dynamic dictionary matching. J. Comput. Syst. Sci. 49(2), 208–222 (1994)
Sahinalp, S.C., Vishkin, U.: Efficient approximate and dynamic matching of patterns using a labeling paradigm. In: FOCS, IEEE Computer Society, pp. 320–328 (1996)
Aho, A.V., Corasick, M.J.: Efficient string matching: an aid to bibliographic search. Commun. ACM 18(6), 333–340 (1975)
Amir, A., Farach, M., Idury, R.M., Lapoutre, J.A., Schaffer, A.A.: Improved dynamic dictionary matching. Inf. Comput. 119(2), 258–282 (1995)
Grossi, R., Vitter, J.S.: Compressed suffix arrays and suffix trees with applications to text indexing and string matching. SIAM J. Comput. 35(2), 378–407 (2005)
Ferragina, P., Manzini, G.: Indexing compressed text. J. ACM 52(4), 552–581 (2005)
Hon, W.K., Ku, T.H., Lam, T.W., Shah, R., Tam, S.L., Thankachan, S.V., Vitter, J.S.: Compressing dictionary matching index via sparsification technique. Algorithmica 72(2), 515–538 (2014)
Chan, H.L., Hon, W.K., Lam, T.W., Sadakane, K.: Dynamic dictionary matching and compressed suffix trees. In: Proceedings of the Sixteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’05, Philadelphia, PA, USA, pp. 13–22. Society for Industrial and Applied Mathematics (2005)
Knuth, D.E., Morris, J., Pratt, V.R.: Fast pattern matching in strings. SIAM J. Comput. 6(2), 323–350 (1977)
McCreight, E.M.: A space-economical suffix tree construction algorithm. J. ACM 23(2), 262–272 (1976)
Alstrup, S., Husfeldt, T., Rauhe, T.: Marked ancestor problems. In: Proceedings of the 39th Annual Symposium on Foundations of Computer Science, FOCS ’98, Washington, DC, USA, p. 534. IEEE Computer Society (1998)
Hon, W.K., Lam, T.W., Shah, R., Tam, S.L., Vitter, J.S.: Compressed index for dictionary matching. In: Proceedings of the Data Compression Conference, DCC ’08, Washington, DC, USA, pp. 23–32. IEEE Computer Society (2008)
Belazzougui, D.: Succinct dictionary matching with no slowdown. In: Proceedings of the 21st Annual Conference on Combinatorial Pattern Matching, CPM’10, pp. 88–100. Springer, Berlin (2010)
Hon, W.K., Ku, T.H., Shah, R., Thankachan, S.V., Vitter, J.S.: Faster compressed dictionary matching. In: Proceedings of the 17th International Conference on String Processing and Information Retrieval, SPIRE’10, pp. 191–200. Springer, Berlin (2010)
Rytter, W.: On maximal suffices and constant-space linear-time versions of kmp algorithm. In: Rajsbaum, S. (eds.) LATIN. Volume 2286 of Lecture Notes in Computer Science, pp. 196–208. Springer (2002)
Sadakane, K., Navarro, G.: Fully-functional succinct trees. In: Proceedings of the Twenty-First Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’10, Philadelphia, PA, USA, pp. 134–149. Society for Industrial and Applied Mathematics (2010)
Elias, P.: Efficient storage and retrieval by content and address of static files. J. ACM 21(2), 246–260 (1974)
Fano, R.: On the Number of Bits Required to Implement an Associative Memory. Computation Structures Group Memo. MIT Project MAC Computer Structures Group (1971)
Grossi, R., Orlandi, A., Raman, R., Rao, S.S.: More haste, less waste: lowering the redundancy in fully indexable dictionaries. CoRR arXiv:0902.2648 (2009)
kai Hon, W., Sadakane, K., kin Sung, W.: Breaking a time-and-space barrier in constructing full-text indices. In: Proceedings of 44th Annual Symposium on Foundations of Computer Science, pp. 251–260. IEEE (2003)
Munro, J.I.: Tables. In: FSTTCS. pp. 37–42 (1996)
Gabow, H.N., Tarjan, R.E.: A linear-time algorithm for a special case of disjoint set union. In: Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing, STOC ’83, New York, NY, USA, pp. 246–251. ACM (1983)
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported by the Kabarnit Cyber consortium funded by the Chief Scientist in the Israeli Ministry of Economy under the Magnet Program.
Rights and permissions
About this article
Cite this article
Feigenblat, G., Porat, E. & Shiftan, A. A Grouping Approach for Succinct Dynamic Dictionary Matching. Algorithmica 77, 134–150 (2017). https://doi.org/10.1007/s00453-015-0056-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-015-0056-0