Skip to main content
Log in

A Grouping Approach for Succinct Dynamic Dictionary Matching

  • Published:
Algorithmica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. \(O(|T| + n + occ)\) when using hashing.

  2. Any other non succinct algorithm that requires up to \(O(\log \log n)\) query and update time can be used.

References

  1. Amir, A., Farach, M., Galil, Z., Giancarlo, R., Park, K.: Dynamic dictionary matching. J. Comput. Syst. Sci. 49(2), 208–222 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  2. 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)

  3. Aho, A.V., Corasick, M.J.: Efficient string matching: an aid to bibliographic search. Commun. ACM 18(6), 333–340 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  4. Amir, A., Farach, M., Idury, R.M., Lapoutre, J.A., Schaffer, A.A.: Improved dynamic dictionary matching. Inf. Comput. 119(2), 258–282 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  5. 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)

    Article  MathSciNet  MATH  Google Scholar 

  6. Ferragina, P., Manzini, G.: Indexing compressed text. J. ACM 52(4), 552–581 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  7. 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)

  8. 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)

  9. Knuth, D.E., Morris, J., Pratt, V.R.: Fast pattern matching in strings. SIAM J. Comput. 6(2), 323–350 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  10. McCreight, E.M.: A space-economical suffix tree construction algorithm. J. ACM 23(2), 262–272 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  11. 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)

  12. 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)

  13. 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)

  14. 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)

  15. 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)

  16. 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)

  17. Elias, P.: Efficient storage and retrieval by content and address of static files. J. ACM 21(2), 246–260 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  18. Fano, R.: On the Number of Bits Required to Implement an Associative Memory. Computation Structures Group Memo. MIT Project MAC Computer Structures Group (1971)

  19. 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)

  20. 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)

  21. Munro, J.I.: Tables. In: FSTTCS. pp. 37–42 (1996)

  22. 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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guy Feigenblat.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-015-0056-0

Keywords

Navigation