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 ⓘ
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 ⓘ
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 (12)

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
Rabin–Karp algorithm → comparesWith → Boyer–Moore algorithm ⓘ
linked to: Boyer–Moore string-search algorithm