Student or educator? Sign up with your school email and get 6 months of Pro free.
Cited by 2,936

The DOI matches its Crossref record.

Fast Pattern Matching in Strings

Knuth, Donald E., Morris, Jr., James H., Pratt, Vaughan R.·1977·SIAM Journal on Computing

Abstract

An algorithm is presented which finds all occurrences of one given string within another, in running time proportional to the sum of the lengths of the strings. The constant of proportionality is low enough to make this algorithm of practical use, and the procedure can also be extended to deal with some more general pattern-matching problems. A theoretical application of the algorithm shows that the set of concatenations of even palindromes, i.e., the language $\{\alpha \alpha ^R\}^*$, can be recognized in linear time. Other algorithms which run even faster on the average are also considered.

Overview

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1137/0206024

Cites

Statistics

Verification

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Citations

Cites

No references could be resolved yet.

Research works printed but not linked: 25

  1. Aho Alfred V., 1975, The design and analysis of computer algorithms
  2. 10.1145/360825.360855 · DOI · Paper page
  3. Beeler M., 1972, HAKMEM
  4. Cook Stephen A., 1972, Information processing 71 (Proc. IFIP Congress, Ljubljana, 1971), Vol. 1: Foundations and systems, 75
  5. 10.1090/S0002-9939-1965-0174934-9 · doi:10.1090/s0002-9939-1965-0174934-9
  6. Fischer Michael J., 1974, Complexity of computation (Proc. SIAM-AMS Appl. Math. Sympos., New York, 1973)
  7. 10.1145/990502.990505 · doi:10.1145/990502.990505
  8. 10.1109/TIT.1960.1057587 · DOI
  9. 10.1137/0202025 · doi:10.1137/0202025
  10. 10.1145/362919.362934 · DOI
  11. Richard M. Karp, Raymond E. Miller, Arnold L. Rosenberg, Rapid identification of repeated patterns in strings, trees, and arrays, ACM Symposium on Theory of Computing, Vol. 4, Association for Computing Machinery, New York, 1972, 125–136 0354.68119 · DOI · Paper page
  12. Knuth Donald E., 1969, The art of computer programming. Vol. 1: Fundamental algorithms
  13. Knuth Donald E., 1973, The art of computer programming. Volume 3
  14. 10.2307/2316275 · doi:10.2307/2316275
  15. 10.1016/S0019-9958(65)90426-2 · DOI · Paper page
  16. 10.1145/356635.356640 · DOI · Paper page
  17. Knuth Donald E., 1974, Fast pattern matching in strings
  18. 10.1307/mmj/1028998766 · doi:10.1307/mmj/1028998766
  19. 10.1145/321892.321896 · DOI
  20. 10.1007/BF01447292 · doi:10.1007/bf01447292
  21. Morris, Jr. J. H., 1970, A linear pattern -matching algorithm
  22. Slisenko A. O., 1973, Trudy Mat. Inst. Steklov., 129
  23. 10.1145/363347.363387 · DOI · Paper page
  24. Venkov B. A., 1970, Elementary number theory
  25. Peter Weiner, Linear pattern matching algorithms, 14th Annual IEEE Symposium on Switching and Automata Theory (Univ. Iowa, Iowa City, Iowa, 1973), IEEE Comput. Soc., Northridge, Calif., 1973, 1–11 MR0441032 · DOI · Paper page

Cited by

See all 2,936

Metadata

Authors
Knuth, D. E., Morris, Jr., & Pratt, V. R.
Venue
SIAM Journal on Computing
Published
1977-06
Volume
6
Issue
2
Pages
323-350
ISSN
  • 0097-5397 (ISSN-L)
  • 1095-7111
OpenAlex
W1985108724
Cited by
2,936
References
0
FWCI
29.94
Type
journal article
Language
en
Open access
closed

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review

How to cite

Cite CoChat for the checks on this page, and the paper for its own findings.

This page
CoChat. (2026). Citation check: Fast Pattern Matching in Strings. https://app.cochat.ai/papers/10.1137/0206024
The paper
Knuth, D. E., Morris, Jr., & Pratt, V. R. (1977). Fast Pattern Matching in Strings. SIAM Journal on Computing. https://doi.org/10.1137/0206024

Data sources

Bibliographic data: Semantic Scholar, OpenAlex, Crossref.

Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).

Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.