Encyclopedia of Algorithms

2008 Edition
| Editors: Ming-Yang Kao

Dictionary Matching and Indexing (Exact and with Errors)

2004; Cole, Gottlieb, Lewenstein
  • Moshe Lewenstein
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-30162-4_109

Keywords and Synonyms

Approximate dictionary matching; Approximate text indexing    

Problem Definition

Indexing and dictionary matching are generalized models of pattern matching. These models have attained importance with the explosive growth of multimedia, digital libraries, and the Internet.
  1. 1.

    Text Indexing: In text indexing one desires to preprocess a text t, of length n, and to answer where subsequent queries p, of length m, appear in the text t.

     
  2. 2.

    Dictionary Matching: In dictionary matching one is given a dictionary D of strings \( { p_1,\dots,p_d } \)

Keywords

Edit Distance Query Time Suffix Tree Indexing Problem Suffix Array 
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.
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Aho, A.V., Corasick, M.J.: Efficient string matching. Commun. ACM 18(6), 333–340 (1975)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Alstrup, S., Brodal, G.S., Rauhe, T.: Pattern matching in dynamic texts. In: Proc. of Symposium on Discrete Algorithms (SODA), 2000, pp. 819–828Google Scholar
  3. 3.
    Amir, A., Farach, M., Matias, Y.: Efficient randomized dictionary matching algorithms. In: Proc. of Symposium on Combinatorial Pattern Matching (CPM), 1992, pp. 259–272Google Scholar
  4. 4.
    Amir, A., Keselman, D., Landau, G.M., Lewenstein, N., Lewenstein, M., Rodeh, M.: Indexing and dictionary matching with one error. In: Proc. of Workshop on Algorithms and Data Structures (WADS), 1999, pp. 181–192Google Scholar
  5. 5.
    Cole, R., Kopelowitz, T., Lewenstein, M.: Suffix trays and suffix trists: Structures for faster text indexing. In: Proc. of International Colloquium on Automata, Languages and Programming (ICALP), 2006, pp. 358–369Google Scholar
  6. 6.
    Cole, R., Gottlieb, L., Lewenstein, M.: Dictionary matching and indexing with errors and don't cares. In: Proc. of the Symposium on Theory of Computing (STOC), 2004, pp. 91–100Google Scholar
  7. 7.
    Farach, M., Muthukrishnan, S.: Optimal parallel dictionary matching and compression. In: Symposium on Parallel Algorithms and Architecture (SPAA), 1995, pp. 244–253Google Scholar
  8. 8.
    Ferragina, P., Luccio, F.: Dynamic dictionary matching in external memory. Inf. Comput. 146(2), 85–99 (1998)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Ferragina, P., Muthukrishnan, S., deBerg, M.: Multi-method dispatching: a geometric approach with applications to string matching. In: Proc. of the Symposium on the Theory of Computing (STOC), 1999, pp. 483–491Google Scholar
  10. 10.
    Idury, R.M., Schäffer, A.A.: Dynamic dictionary matching with failure functions. In: Proc. 3rd Annual Symposium on Combinatorial Pattern Matching, 1992, pp. 273–284Google Scholar
  11. 11.
    Karkkainen, J., Sanders, P., Burkhardt, S.: Linear work suffix array construction. J. ACM 53(6), 918–936 (2006)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Mehlhorn, K.: Dynamic binary search. SIAM J. Comput. 8(2), 175–198 (1979)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Sahinalp, S.C., Vishkin, U.: Efficient approximate and dynamic matching of patterns using a labeling paradigm. In: Proc. of the Foundations of Computer Science (FOCS), 1996, pp. 320–328Google Scholar
  14. 14.
    Weiner, P.: Linear pattern matching algorithm. In: Proc. of the Symposium on Switching and Automata Theory, 1973, pp. 1–11CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • Moshe Lewenstein
    • 1
  1. 1.Department of Computer ScienceBar Ilan UniversityRamat-GanIsrael