Алгоритм Кнута - Морриса - Пратта
Алгоритм Кнута-Морриса-Пратта (КМП) получает на вход слово.Описать алгоритм заполнения таблицы l [1] ...l [n] .Какое отношение все это имеет к поиску подслова?Предположим, что первые i значений l [1] ...l [i] уже найдены.Мы читаем очередную букву слова (т.е. x [i+1]) и должны вычислить l [i+1] .Откуда берутся эти начала?Одновременно являющиеся его концами -из них нам надо брать самое длинное.L [i+1] :=len+1.Другими словами, нас интересуют начала Z слова.Вот что получается.