Parallel computations on strings and arrays

  • Maxime Crochemore
  • Wojciech Rytter
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 415)


We present several new parallel algorithms in the field of string and array processing. We give almost optimal algorithms for pattern matching in arrays and for related problem: longest common subarray, longest repeated subarray and longest symmetric subarray. We also give almost optimal algorithms for problems on strings: finding squares, testing even palstars, computing Lyndon factorizations and building pattern matching automata. In the PRAM model without concurrent writes, the parallel time is log(n)2 with n processors and, in the PRAM model with concurrent writes, the time, for most of the problems, is log(n) with n processors. All the algorithms have in common the use of a parallel version of the Karp, Miller and Rosenberg's algorithm.


Basic Factor Parallel Algorithm Parallel Version Sequential Algorithm String Match 
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. [AC 75]
    A. Aho, M. Corasick, Efficient string-matching: an aid to bibliographic search, CACM 18 (1975) 333–340.Google Scholar
  2. [AHU 74]
    A. Aho, J. Hopcroft, J. Ullman, The design and analysis of computer algorithms, Addison-Wesley (1974).Google Scholar
  3. [AILSV 88]
    A. Apostolico, C. Iliopoulos, G. Landau, B. Schieber, U. Vishkin, Parallel construction of a suffix tree applications, Algorithmica, 3, 3 (1988) 347–365.CrossRefGoogle Scholar
  4. [Ba 78]
    T. Baker, A technique for extending rapid exact string matching to arrays of more than one dimension, SIAM J.Comp. 7 (1978) 533–541.CrossRefGoogle Scholar
  5. [Bi 77]
    R.S. Bird, Two-dimensional pattern-matching, IPL 6 (1977) 168–170.Google Scholar
  6. [BM 77]
    R. Boyer, J. Moore, A fast string searching algorithm, CACM 20 (1977)Google Scholar
  7. [Co 87]
    R. Cole, Parallel merge sort, FOCS (1987).Google Scholar
  8. [Cr 87]
    M. Crochemore, Longest common factor of two words, CAAP'87, 23–36.Google Scholar
  9. [Cr 89]
    M. Crochemore, String matching and periods, to appear in Bullet, EATCS (1989).Google Scholar
  10. [CP 89]
    M. Crochemore, D.Perrin, Two way string matching, 1989, submitted to JACM.Google Scholar
  11. [CR 89]
    M. Crochemore, W. Rytter, Usefulness of the Karp-Miller-Rosenberg algorithm in parallel computations on strings and arrays, 1989, to appear in TCS.Google Scholar
  12. [Du 83]
    J-P. Duval, Factorizing words over an ordered alphabet, J.Algorithms 4 (1983) 363–381.CrossRefGoogle Scholar
  13. [Ga 85a]
    Z. Galil, Open problems in stringology, in: (Combinatorial algorithms on words, A. Apostolico, Z. Galil eds, Springer-Verlag, 1985) 1–12.Google Scholar
  14. [Ga 85b]
    Z. Galil, Optimal parallel algorithm for string matching, Information and Control 67,(1985) 144–157.CrossRefGoogle Scholar
  15. [GS 83]
    Z. Galil, J. Seiferas, Time space optimal string matching, JCSS 26 (1983) 280–294.Google Scholar
  16. [GS 78]
    Z. Galil, J. Seiferas, A linear time on line recognition algorithm for palstars, JACM 25 (1978) 102–11.CrossRefGoogle Scholar
  17. [GR 88]
    A. Gibbons, W. Rytter, Efficient parallel algorithms, Cambridge University Press (1988).Google Scholar
  18. [KMR 72]
    R. Karp, R. Miller, A. Rosenberg, Rapid identification of repeated patterns in strings, arrays and trees, STOC 4 (1972) 125–136.Google Scholar
  19. [KMP 77]
    D. Knuth, J. Morris, V. Pratt, Fast pattern matching in strings, SIAM J.Comp. 6 (1977) 322–350.Google Scholar
  20. [LSV 87]
    G. Landau, B. Schieber, U. Vishkin, Parallel construction of a suffix tree, ICALP (1987) 314–325.Google Scholar
  21. [Lo 83]
    M. Lothaire, Combinatorics on words, Addison Wesley (1983).Google Scholar
  22. [Ma 75]
    G. Manacher, A new linear time on-line algorithm for finding the smallest initial palindrome of the string, J. ACM 22 (1975) 345–351.CrossRefGoogle Scholar
  23. [ML 84]
    M. Main, R. Lorentz, An O(n log(n)) algorithm for finding all repetitions in a string. J. Algorithms (1984) 422–432.Google Scholar
  24. [ML 85]
    M. Main, R. Lorentz, Linear time recognition of square-free strings, in: (Combinatorial algorithms on words, A. Apostolico, Z. Galil eds, Springer-Verlag, 1985) 271–278.Google Scholar
  25. [Ry 89]
    W. Rytter, On the parallel transformations of regular expressions to nondeterministic finite automata. Inf.Proc.Letters 31 (1989) 103–109.CrossRefGoogle Scholar
  26. [Vi 85]
    U. Vishkin, Optimal parallel pattern matching in strings, Information and Control 67 (1985) 91–113.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Maxime Crochemore
    • 1
  • Wojciech Rytter
    • 2
  1. 1.LITP, Université de Paris 7Paris Cedex 05France
  2. 2.Institute of InformaticsWarsaw University, PKiN 8p.WarsawPoland

Personalised recommendations