Definition: A string matching algorithm that compares characters from the end of the pattern to its beginning. When characters don't match, searching jumps to the next possible match: the farthest of a table like that used in the Knuth-Morris-Pratt algorithm and the next matching position in the pattern.

Generalization (I am a kind of ...)
string matching.

See also Boyer-Moore-Horspool, Commentz-Walter handles multiple strings, like Aho-Corasick.

Note: After [Sund98].

Author: PEB


Christian Charras' and Thierry Lecroq's Boyer-Moore algorithm (C). (C) which uses Boyer-Moore preprocessing (C)

More information

Series of pages explaining how Boyer-Moore works.

Robert S. Boyer and J Strother Moore, A Fast String Search Algorithm, CACM, 20(10):762-772, October 1977.

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul Black.

Entry modified 12 February 2019.
HTML page formatted Tue Feb 12 10:57:42 2019.

Cite this as:
Paul E. Black, "Boyer-Moore", in Dictionary of Algorithms and Data Structures [online], Vreda Pieterse and Paul E. Black, eds. 12 February 2019. (accessed TODAY) Available from: