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)
| Label | Occurrences |
|---|---|
| Boyer–Moore string-search algorithm canonical | 4 |
| Boyer–Moore–Horspool algorithm | 2 |
| Turbo Boyer–Moore algorithm | 2 |
| A Fast String Searching Algorithm | 1 |
| Boyer–Moore algorithm | 1 |
| Galil rule enhanced Boyer–Moore | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T3305993 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: Boyer–Moore string-search algorithm Context triple: [J Strother Moore, knownFor, Boyer–Moore string-search algorithm]
-
A.
Knuth–Morris–Pratt algorithm
The Knuth–Morris–Pratt algorithm is a classic linear-time string-searching algorithm that efficiently finds occurrences of a pattern within a text by precomputing a prefix function to avoid redundant comparisons.
-
B.
Thompson's algorithm for regular expression matching
Thompson's algorithm for regular expression matching is a classic method that converts regular expressions into nondeterministic finite automata (NFAs) to enable efficient pattern matching in text processing.
-
C.
Marzullo's algorithm
Marzullo's algorithm is a method for selecting the most likely correct time interval from multiple, possibly conflicting time sources, commonly used in clock synchronization systems.
-
D.
Thompson's algorithm
Thompson's algorithm is a classic computer science method for converting regular expressions into nondeterministic finite automata (NFAs), widely used in pattern matching and lexical analysis.
-
E.
Regular Expression Search Algorithm
Regular Expression Search Algorithm is a pattern-matching method for efficiently finding text strings that match specified regular expressions, originally developed and formalized by computer scientist Ken Thompson.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Boyer–Moore string-search algorithm Target entity description: 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.
-
A.
Knuth–Morris–Pratt algorithm
The Knuth–Morris–Pratt algorithm is a classic linear-time string-searching algorithm that efficiently finds occurrences of a pattern within a text by precomputing a prefix function to avoid redundant comparisons.
-
B.
Thompson's algorithm for regular expression matching
Thompson's algorithm for regular expression matching is a classic method that converts regular expressions into nondeterministic finite automata (NFAs) to enable efficient pattern matching in text processing.
-
C.
Marzullo's algorithm
Marzullo's algorithm is a method for selecting the most likely correct time interval from multiple, possibly conflicting time sources, commonly used in clock synchronization systems.
-
D.
Thompson's algorithm
Thompson's algorithm is a classic computer science method for converting regular expressions into nondeterministic finite automata (NFAs), widely used in pattern matching and lexical analysis.
-
E.
Regular Expression Search Algorithm
Regular Expression Search Algorithm is a pattern-matching method for efficiently finding text strings that match specified regular expressions, originally developed and formalized by computer scientist Ken Thompson.
- F. None of above. chosen
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
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: Boyer–Moore string-search algorithm Description of subject: 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.
Referenced by (11)
Full triples — surface form annotated when it differs from this entity's canonical label.