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 4 October 2010.
HTML page formatted Fri Feb 23 10:06:07 2018.

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