Основная идея алгоритма Бойера — Мура заключается в том, что строки можно сравнивать с конца. 1 Это позволяет пропускать не один символ, как в наивном алгоритме, но зачастую сразу всю строку. 1
Это возможно, поскольку в тот момент, когда обнаруживается несовпадающий символ между строкой и образцом, то образец необходимо сдвинуть вправо на столько символов, чтобы несовпадающий символ строки теперь совпал с символом образца. 1 Если такого символа в образце нет, то строка сдвигается полностью. 1
Также алгоритм использует информацию, собранную на этапе предварительной обработки, чтобы пропускать разделы текста, что уменьшает количество сравнений, которые необходимо выполнить. 2
Ещё одна особенность алгоритма в том, что он выполняет сравнения в шаблоне справа налево, в отличие от многих других алгоритмов. 4