Dynamic dictionary matching with failure functions

Extended abstract
  • Ramana M. Idury
  • Alejandro A. Schäffer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 644)


In the dynamic dictionary matching problem, a dictionary D contains a set of patterns that can change over time by insertion and deletion of individual patterns. The user also presents text strings and asks for all occurrences of any patterns in the text.

Amir, Farach, Galil, Giancarlo, and Park [2, 4] used an automaton based on suffix trees to solve the dynamic problem. We show how to match their time bounds for update and search using a failure function framework, similar to that used by Aho and Corasick to solve the static dictionary matching problem. We then show that our approach allows us to achieve faster search times at the expense of the update times. Finally, we show how to speed up the initial dictionary construction.


Internal Node Search Time Suffix Tree Hybrid Tree Inverted Order 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aho, A. V., Corasick, M. J.: Efficient String Matching: An Aid to Bibliographic Search, Comm. ACM 18 (1975), 333–340.Google Scholar
  2. 2.
    Amir, A., Farach, M.: Adaptive Dictionary Matching, Proc. 32nd IEEE Symp. Found. Comp. Sci., (1991), 760–766.Google Scholar
  3. 3.
    Amir, A., Farach, M.:, Two Dimensional Dictionary Matching, submitted for publication, 1991.Google Scholar
  4. 4.
    Amir, A., Farach, M., Galil, Z., Giancarlo, R., Park, K.: Dynamic Dictionary Matching, manuscript, 1991.Google Scholar
  5. 5.
    Amir, A., Farach, M., Idury, R. M., La Poutré, J. A., Schäffer, A. A.: Improved Dynamic Dictionary Matching, manuscript, 1992.Google Scholar
  6. 6.
    Amir, A., Farach, M., Matias, Y., Efficient Randomized Dictionary Algorithms, Proc. 3rd Symp. Combinatorial Pattern Matching, (1992).Google Scholar
  7. 7.
    Chen, M. T., Seiferas, J.: Efficient and Elegant Subword-Tree Construction, in: Apostolico A., Galil, Z. eds.: Combinatorial Algorithms on Words, NATO ASI Series, Vol. F12, (Springer-Verlag, Heidelberg, 1985), 97–107. Vol. 71 (Springer, Berlin, 1979) 118–132.Google Scholar
  8. 8.
    Dietz, P., Sleator, D. D.: Two Algorithms for Maintaining Order in a List, Proc. 19th ACM Symp. Theor. Comp. Sci., (1987), 365–372.Google Scholar
  9. 9.
    Knuth, D. E., Morris, J. H., Pratt, V. B.: Fast Pattern Matching in Strings, SIAM J. Comp. 6(1977), 323–350.Google Scholar
  10. 10.
    McCreight, E. M., A Space Economical Suffix Tree Construction Algorithm, J. ACM, 23(1976), 262–272.Google Scholar
  11. 11.
    Mehlhorn, K.: Data Structures and Algorithms 1: Sorting and Searching, (Springer-Verlag, Berlin), 1984.Google Scholar
  12. 12.
    Weiner, P.: Linear Pattern Matching Algorithms, Proc. 14th IEEE Symp. on Switching and Automata Theory, (1973), 1–11.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Ramana M. Idury
    • 1
  • Alejandro A. Schäffer
    • 1
  1. 1.Department of Computer ScienceRice UniversityHoustonUSA

Personalised recommendations