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 14 December 2020.
HTML page formatted Mon Dec 14 10:59:02 2020.

Cite this as:
Paul E. Black, "Boyer-Moore", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. 14 December 2020. (accessed TODAY) Available from: