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–Horspool algorithm
Galil rule enhanced Boyer–Moore
Turbo Boyer–Moore algorithm
influenced Apostolico–Giancarlo algorithm
Boyer–Moore–Horspool algorithm
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 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 algorithm
linked to: Boyer–Moore string-search 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 A Fast String Searching Algorithm
linked to: Boyer–Moore string-search algorithm
Boyer–Moore string-search algorithm influenced Boyer–Moore–Horspool algorithm
linked to: Boyer–Moore string-search algorithm
Boyer–Moore string-search algorithm influenced Turbo Boyer–Moore algorithm
linked to: Boyer–Moore string-search algorithm
Boyer–Moore string-search algorithm hasVariant Boyer–Moore–Horspool algorithm
linked to: Boyer–Moore string-search algorithm
Boyer–Moore string-search algorithm hasVariant Turbo Boyer–Moore algorithm
linked to: Boyer–Moore string-search algorithm
Boyer–Moore string-search algorithm hasVariant Galil rule enhanced Boyer–Moore
linked to: Boyer–Moore string-search algorithm