Multiple String Search: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 36: | Line 36: | ||
|} | |} | ||
== Time Complexity | == Time Complexity Graph == | ||
[[File:String Search - Multiple String Search - Time.png|1000px]] | [[File:String Search - Multiple String Search - Time.png|1000px]] | ||
== References/Citation == | == References/Citation == | ||
https://cr.yp.to/bib/1975/aho.pdf | https://cr.yp.to/bib/1975/aho.pdf |
Latest revision as of 09:07, 28 April 2023
Description
Multiple string search algorithms try to find a place where one or several strings (also called patterns) are found within a larger string or text.
Related Problems
Related: Single String Search
Parameters
$m$: longest pattern length
$n$: length of searchable text
$s$: size of the alphabet
$k$: number of patterns to search for
$z$: number of matches
Table of Algorithms
Name | Year | Time | Space | Approximation Factor | Model | Reference |
---|---|---|---|---|---|---|
Commentz-Walter Algorithm | 1979 | $O(mn)$ | $O(km)$ | Exact | Deterministic | Time |
Aho–Corasick (AC) Algorithm | 1975 | $O(n + m + z)$ | $O(km)$ | Exact | Deterministic | Time |
Wu and Manber, Fuzzy String Matching | 1992 | $O(nk \lceil m/w \rceil)$ | $O(ms + k \lceil m/w \rceil)$ | Levensthein Distance = k | Deterministic | Time & Space |