EssayAI
Блог
Блог

поиск подстроки

Статьи EssayAI по теме «поиск подстроки»: разборы, методы и примеры.

Алгоритм Рабина-Карпа: поиск подстроки за O(n+m)

Алгоритм Рабина-Карпа: поиск подстроки за O(n+m)

Разбираем алгоритм Рабина-Карпа: как полиномиальный хеш и скользящее окно ускоряют поиск подстроки до O(n+m) в среднем, почему бывают ложные совпадения и при чём тут плагиат.

31 мая 20269 минут
Алгоритм Бойера-Мура-Хорспула: как работает упрощённый BM

Алгоритм Бойера-Мура-Хорспула: как работает упрощённый BM

Алгоритм Бойера-Мура-Хорспула простыми словами: одна таблица сдвигов по последнему символу окна, среднее время O(n/m), худший случай и сравнение с BM, KMP и Sunday.

26 февраля 20268 минут
Z-функция строки за O(n): построение и применение

Z-функция строки за O(n): построение и применение

Что такое Z-функция строки, как построить массив за линейное время O(n) с помощью Z-блока, чем она отличается от префикс-функции и какие задачи решает на практике.

23 февраля 20269 минут
Алгоритм Кнута-Морриса-Пратта: поиск подстроки за O(n+m)

Алгоритм Кнута-Морриса-Пратта: поиск подстроки за O(n+m)

Алгоритм Кнута-Морриса-Пратта ищет подстроку без возвратов по тексту. Разбираем префикс-функцию по шагам, оцениваем сложность и смотрим понятный пример работы.

26 января 20269 минут
Алгоритм Бойера-Мура: почему он ищет подстроку так быстро

Алгоритм Бойера-Мура: почему он ищет подстроку так быстро

Разбираем алгоритм Бойера-Мура: зачем сравнивать паттерн справа налево, как работают эвристики плохого символа и хорошего суффикса и почему поиск выходит сублинейным.

25 января 20269 минут