Алгоритмы поиска текста: наивный, KMP, Бойера — Мура и Рабина — Карпа
Коротко: Чтобы найти шаблон в тексте, наивный поиск сравнивает позицию за позицией; KMP, Бойер — Мур и Рабин — Карп используют заранее известные сведения о шаблоне, чтобы пропускать сравнения.
Подробнее: Ctrl+F, grep, редакторы, проверки на плагиат, поиск по ДНК: везде ищется шаблон (длина m) в тексте (длина n). Подходящий метод зависит от длины, алфавита и числа поисков.
Подробности
Наивный
Приложить шаблон к каждой позиции…
См. также: регулярные выражения, О-нотация, хеш-таблица, фильтр Блума и trie