Boyer–Moore string-search algorithm

E347189

The Boyer–Moore string-search algorithm is a highly efficient pattern-matching algorithm that scans text from right to left and uses precomputed shift rules to skip sections of the text, making it one of the fastest practical algorithms for substring search.

All labels observed (6)

How this entity was disambiguated

Statements (50)

Predicate Object
instanceOf pattern-matching algorithm
string-search algorithm
substring search algorithm
advantage efficient for long patterns
skips many text characters without examining them
very fast in practice on large alphabets
assumes finite alphabet
basedOn matched suffix information
mismatched character information
category search algorithms
string matching algorithms
characteristic compares characters in reverse order within the pattern
precomputes shift tables
scans pattern from right to left
skips sections of the text
sublinear average running time
comparedWith Knuth–Morris–Pratt algorithm
Rabin–Karp algorithm
designedBy J Strother Moore
Robert S. Boyer NERFINISHED
disadvantage more complex to implement than simpler search algorithms
worst-case time can be quadratic in pattern and text length
field computer science
string algorithms
hasSpaceComplexity O(σ + m)
hasTimeComplexity O(n + m) average time
O(nm) worst-case time
hasVariant Boyer–Moore string-search algorithm self-linksurface differs
surface form: Boyer–Moore–Horspool algorithm

Boyer–Moore string-search algorithm self-linksurface differs
surface form: Galil rule enhanced Boyer–Moore

Boyer–Moore string-search algorithm self-linksurface differs
surface form: Turbo Boyer–Moore algorithm
influenced Apostolico–Giancarlo algorithm
Boyer–Moore string-search algorithm self-linksurface differs
surface form: Boyer–Moore–Horspool algorithm

Boyer–Moore string-search algorithm self-linksurface differs
surface form: Turbo Boyer–Moore algorithm
input pattern string
text string
namedAfter J Strother Moore
Robert S. Boyer NERFINISHED
optimizedFor cases where pattern is much shorter than text
offline pattern preprocessing
output occurrence positions of pattern in text
publicationYear 1977
publishedIn Communications of the ACM
titleOfOriginalPaper Boyer–Moore string-search algorithm self-linksurface differs
surface form: A Fast String Searching Algorithm
typicalUseCase information retrieval systems
search utilities
text editors
uses bad-character rule
good-suffix rule
pattern preprocessing
right-to-left pattern scanning

How these facts were elicited

Referenced by (11)

Full triples — surface form annotated when it differs from this entity's canonical label.

J Strother Moore knownFor Boyer–Moore string-search algorithm
J Strother Moore coInventorOf Boyer–Moore string-search algorithm
Knuth–Morris–Pratt algorithm comparedWith Boyer–Moore string-search algorithm
this entity surface form: Boyer–Moore algorithm
Robert S. Boyer knownFor Boyer–Moore string-search algorithm
Robert S. Boyer coInvented Boyer–Moore string-search algorithm
Boyer–Moore string-search algorithm titleOfOriginalPaper Boyer–Moore string-search algorithm self-linksurface differs
this entity surface form: A Fast String Searching Algorithm
Boyer–Moore string-search algorithm influenced Boyer–Moore string-search algorithm self-linksurface differs
this entity surface form: Boyer–Moore–Horspool algorithm
Boyer–Moore string-search algorithm influenced Boyer–Moore string-search algorithm self-linksurface differs
this entity surface form: Turbo Boyer–Moore algorithm
Boyer–Moore string-search algorithm hasVariant Boyer–Moore string-search algorithm self-linksurface differs
this entity surface form: Boyer–Moore–Horspool algorithm
Boyer–Moore string-search algorithm hasVariant Boyer–Moore string-search algorithm self-linksurface differs
this entity surface form: Turbo Boyer–Moore algorithm
Boyer–Moore string-search algorithm hasVariant Boyer–Moore string-search algorithm self-linksurface differs
this entity surface form: Galil rule enhanced Boyer–Moore