Sequences pp 41-44 | Cite as

Constant-Space String-Matching

  • Maxime Crochemore
Conference paper


We present a string-matching algorithm with the following properties: it is linear in time with a small multiplicative constant during all its phases; it preprocesses the string and scans the searched text with constant memory space in addition to the strings.


Pattern Match Regular Expression Memory Space String Match Suffix Tree 
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]
    A.V. Aho & M.J. Corasick, Efficient string matching: An aid to bibliographic search, Comm. ACM 18 (1975) 333–340.MathSciNetCrossRefMATHGoogle Scholar
  2. [2]
    A. Apostolico & R. Giancarlo, The Boyer-Moore-Galil searching strategies revisited, SI AM J. Comput. 15, 1 (1986) 98–105.MathSciNetCrossRefMATHGoogle Scholar
  3. [3]
    A. Apostolico & F.P. Preparata, Optimal off-line detection of repetitionsin a string, Theoret. Comput. Sci. 22 (1983) 297–315.MathSciNetCrossRefMATHGoogle Scholar
  4. [4]
    D.R. Bean, A. Ehrenfeucht & G.F. McNulty, Avoidable patterns in strings of symbols, Pacific J. Math. 85 (1979) 261–294.MathSciNetMATHGoogle Scholar
  5. [5]
    A. Blumer, J. Blumer, A. Ehrenfeucht, D. Haussler, M.T. Chen & J. Seiferas, The smallest automaton recognizing the subwords of a text, Theoret. Comput.Sci. 40, 1 (1985) 31–56.MathSciNetCrossRefMATHGoogle Scholar
  6. [6]
    K.S. Booth, Lexicographically least circular substrings, Inform. Process. Lett. 10, 4, 5 (1980) 240–242.MathSciNetCrossRefMATHGoogle Scholar
  7. [7]
    R.S. Boyer & J.S. Moore, A fast string searching algorithm, Comm. ACM 20 (1977) 762–772.CrossRefMATHGoogle Scholar
  8. [8]
    Y. Cesari & M. Vincent, Une caractérisation des mots périodiques, C.R. Acad.Sc. t.286, série A (1978) 1175.MathSciNetMATHGoogle Scholar
  9. [9]
    C. Choffrut and M.P. Schützenberger, Counting with rationnai functions, to appear in Theoret. Comput. Sci. (1988).Google Scholar
  10. [10]
    M. Crochemore, Transducers and repetitions, Theoret. Comput. Sci. 45 (1986) 63–86.MathSciNetCrossRefMATHGoogle Scholar
  11. [11]
    M. Crochemore and D. Perrin, Pattern matching in strings, submitted to J. Assoc. Comput. Mach. (1988).Google Scholar
  12. [12]
    J.P. Duval, Factorizing Words over an Ordered Alphabet, J. Algorithms 4 (1983) 363–381.MathSciNetCrossRefMATHGoogle Scholar
  13. [13]
    Z. Galil, On improving the most case running time of the Boyer-Moore string-matching algorithm, Comm. ACM 22, 9 (1979) 505–508.MathSciNetCrossRefMATHGoogle Scholar
  14. [14]
    Z. Galil, String Matching in real time, J. Assoc. Comput. Mach. 28, 1 (1981) 134–149.MathSciNetMATHGoogle Scholar
  15. [15]
    Z. Galil & J. Seiferas, Time Space Optimal String Matching, J. Comput. Syst. Sci. 26 (1983) 280–294.MathSciNetCrossRefGoogle Scholar
  16. [16]
    L.J. Guibas & A.M. Odlysko, A new proof of the linearity of the Boyer-Moore string searching algorithm, in: (Proc. 18 th Annual IEEE Symposium on Fundations of Computer Science (1977)) 189–195.Google Scholar
  17. [17]
    R.M. Karp, R.E. Miller & A.L. Rosenberg, Rapid identification of repeated patterns in strings, trees, and arrays,in: (ACM Symposium on Theory of Computing, Vol. 4, ACM, New York (1972)) 125–136.Google Scholar
  18. [18]
    D.E. Knuth, J.H. Morris & V.R. Pratt, Fast pattern matching in strings, SI AM J. Comput. 6, 2 (1977) 323–350.MathSciNetCrossRefMATHGoogle Scholar
  19. [19]
    Lothaire, Combinatorics on Words, Addison-Wesley, Reading, Mass., 1982.Google Scholar
  20. [20]
    G.M. Landau & U. Vishkin, Efficient string matching with k differences, Technical Report 186, Courant Institute of Mathematical Sciences, New York University (1985).Google Scholar
  21. [21]
    E.M. McCreight, A space-economical suffix tree construction algorithms, J. Assoc. Comput. Mach. 28, 2 (1976) 262–272.MathSciNetGoogle Scholar
  22. [22]
    R.L. Rivest, On the worst-case behavior of string-searching algorithms, SIAM J. Comput. 6, 4 (1977) 669–674.MathSciNetCrossRefMATHGoogle Scholar
  23. [23]
    W. Rytter, A correct preprocessing algorithm for Boyer-Moore string-searching, SIAM J. Comput. 9, 3 (1980) 509–512.MathSciNetCrossRefMATHGoogle Scholar
  24. [24]
    V. Shiloach, Fast canonization of circular strings, J. Algorithms 2 (1981) 107–121.MathSciNetCrossRefMATHGoogle Scholar
  25. [25]
    A.O. Slisenko, Detection of periodicities and string-matching in real-time, J. of Soviet Mathematics 22, 3 (1983) 1316–1387.CrossRefMATHGoogle Scholar
  26. [26]
    K. Thompson, Regular expression search algorithm, Comm, ACM 11 (1968) 419–442.CrossRefMATHGoogle Scholar
  27. [27]
    E. Ukkonen, Finding Approximate Patterns in Strings, J Algorithms 6 (1985) 132–137.MathSciNetCrossRefMATHGoogle Scholar
  28. [28]
    U. Vishkin, Optimal parallel pattern matching in strings, in: (Proc. 12th ICALP, Lecture Notes in Computer Science 194, Springer-Verlag (1985)) 497–508.Google Scholar
  29. [29]
    P. Weiner, Linear pattern matching algorithms, IEEE Symposium on Switching and Automata Theory, Vol. 14, IEEE, New York (1972)) 1–11.Google Scholar

Copyright information

© Springer-Verlag New York Inc. 1990

Authors and Affiliations

  • Maxime Crochemore
    • 1
  1. 1.Université de Paris-NordVilletaneuseFrance

Personalised recommendations