Aho–Corasick algorithm
E672058
The Aho–Corasick algorithm is a classic string-searching algorithm that efficiently finds all occurrences of multiple patterns in a text using a trie-based finite-state machine.
All labels observed (1)
| Label | Occurrences |
|---|---|
| Aho–Corasick algorithm canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T7540012 — 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: Aho–Corasick algorithm Context triple: [Alfred V. Aho, notableConcept, Aho–Corasick 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.
Boyer–Moore string-search algorithm
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.
-
C.
Rabin–Karp algorithm
The Rabin–Karp algorithm is a string-searching technique that uses hashing to efficiently find any one of a set of pattern strings in a text.
-
D.
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.
-
E.
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.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Aho–Corasick algorithm Target entity description: The Aho–Corasick algorithm is a classic string-searching algorithm that efficiently finds all occurrences of multiple patterns in a text using a trie-based finite-state machine.
-
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.
Boyer–Moore string-search algorithm
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.
-
C.
Rabin–Karp algorithm
The Rabin–Karp algorithm is a string-searching technique that uses hashing to efficiently find any one of a set of pattern strings in a text.
-
D.
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.
-
E.
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.
- F. None of above. chosen
Statements (48)
| Predicate | Object |
|---|---|
| instanceOf |
finite-state machine based algorithm
ⓘ
multiple-pattern matching algorithm ⓘ string-searching algorithm ⓘ |
| author |
Alfred V. Aho
NERFINISHED
ⓘ
Margaret J. Corasick NERFINISHED ⓘ |
| canBeImplementedAs | deterministic finite automaton ⓘ |
| field | computer science ⓘ |
| hasAdvantage |
efficient for large dictionaries of patterns
ⓘ
finds all pattern occurrences in a single pass over the text ⓘ |
| hasPhase |
failure function construction
ⓘ
search phase ⓘ trie construction ⓘ |
| hasProperty |
preprocessing of patterns is done once
ⓘ
search time independent of number of patterns ⓘ |
| hasTimeComplexity |
O(n + m + z)
ⓘ
linear in length of text plus total length of patterns plus number of matches ⓘ |
| input |
set of patterns
ⓘ
text string ⓘ |
| isDeterministic | true ⓘ |
| isExactMatching | true ⓘ |
| isOnline | true ⓘ |
| namedAfter |
Alfred V. Aho
NERFINISHED
ⓘ
Margaret J. Corasick NERFINISHED ⓘ |
| operatesOn | finite alphabet ⓘ |
| originalTitleOfPaper | Efficient string matching: an aid to bibliographic search ⓘ |
| output | all occurrences of patterns in the text ⓘ |
| publishedIn | Communications of the ACM NERFINISHED ⓘ |
| relatedTo |
Knuth–Morris–Pratt algorithm
NERFINISHED
ⓘ
finite automata theory ⓘ trie data structure ⓘ |
| spaceComplexity |
O(m * Σ)
ⓘ
linear in total pattern length times alphabet size ⓘ |
| subfield |
algorithms
ⓘ
pattern matching ⓘ string algorithms ⓘ |
| supports |
overlapping matches
ⓘ
simultaneous search of many patterns ⓘ |
| usedIn |
DNA sequence analysis
ⓘ
digital forensics ⓘ intrusion detection systems ⓘ search engines ⓘ spam filtering ⓘ text editors and IDEs ⓘ |
| usesConcept |
failure links
ⓘ
output links ⓘ |
| usesDataStructure |
finite automaton
ⓘ
trie ⓘ |
| yearIntroduced | 1975 ⓘ |
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: Aho–Corasick algorithm Description of subject: The Aho–Corasick algorithm is a classic string-searching algorithm that efficiently finds all occurrences of multiple patterns in a text using a trie-based finite-state machine.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.