そう、Knuth-Morris-Pratt (KMP)アルゴリズムには、部分一致表を計算する前処理ステップがあります。部分一致表は、パターンの各接頭辞のうち、最も長い接尾辞の長さを格納する配列です。

KMPアルゴリズムは、James H. MorrisとVaughan Prattが独自に発見し、後にDonald Knuthが簡略化して発表したことから、Knuth-Morris-Pratt-Powellアルゴリズムと呼ばれることもある。また、モリスとプラットの名前をとって「MP」アルゴリズムと呼ばれることもある。
Yes, the Knuth-Morris-Pratt (KMP) algorithm involves a preprocessing step to compute the partial match table, which is an array that stores the lengths of the longest proper suffixes of each prefix of the pattern.

The KMP algorithm is sometimes referred to as the Knuth-Morris-Pratt-Powell algorithm, as it was independently discovered by James H. Morris and Vaughan Pratt, and later simplified and published by Donald Knuth. The algorithm is also sometimes called the "MP" algorithm, after Morris and Pratt.