Вопросы к Поиску с Алисой
Основная идея алгоритма Бойера — Мура заключается в том, что строки можно сравнивать с конца. markoutte.me Это позволяет пропускать не один символ, как в наивном алгоритме, но зачастую сразу всю строку. markoutte.me
Это возможно, поскольку в тот момент, когда обнаруживается несовпадающий символ между строкой и образцом, то образец необходимо сдвинуть вправо на столько символов, чтобы несовпадающий символ строки теперь совпал с символом образца. markoutte.me Если такого символа в образце нет, то строка сдвигается полностью. markoutte.me
Также алгоритм использует информацию, собранную на этапе предварительной обработки, чтобы пропускать разделы текста, что уменьшает количество сравнений, которые необходимо выполнить. en.wikipedia.org
Ещё одна особенность алгоритма в том, что он выполняет сравнения в шаблоне справа налево, в отличие от многих других алгоритмов. neerc.ifmo.ru