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 E. Black.

Entry modified 21 September 2006.
HTML page formatted Thu Sep 21 13:15:06 2006.

Cite this as:
Paul E. Black, "Boyer-Moore", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed., U.S. National Institute of Standards and Technology. 21 September 2006. (accessed TODAY) Available from: http://www.nist.gov/dads/HTML/boyermoore.html

to NIST home page