NIST

Boyer-Moore

(algorithm)

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

Implementation

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 Wed Mar 13 12:42:45 2019.

Cite this as:
Paul E. Black, "Boyer-Moore", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. 12 February 2019. (accessed TODAY) Available from: https://www.nist.gov/dads/HTML/boyermoore.html