Multiple String Search: Difference between revisions

From Algorithm Wiki
Jump to navigation Jump to search
(Created page with "{{DISPLAYTITLE:Multiple String Search (String Search)}} == 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 == <pre>$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</pre> == Table of A...")
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 10: Line 10:
== Parameters ==  
== Parameters ==  


<pre>$m$: longest pattern length
$m$: longest pattern length
 
$n$: length of searchable text
$n$: length of searchable text
$s$: size of the alphabet
$s$: size of the alphabet
$k$: number of patterns to search for
$k$: number of patterns to search for
$z$: number of matches</pre>
 
$z$: number of matches


== Table of Algorithms ==  
== Table of Algorithms ==  
Line 32: Line 36:
|}
|}


== Time Complexity graph ==  
== Time Complexity Graph ==  


[[File:String Search - Multiple String Search - Time.png|1000px]]
[[File:String Search - Multiple String Search - Time.png|1000px]]
== Space Complexity graph ==
[[File:String Search - Multiple String Search - Space.png|1000px]]
== Pareto Decades graph ==
[[File:String Search - Multiple String Search - Pareto Frontier.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

Time Complexity Graph

Error creating thumbnail: Unable to save thumbnail to destination

References/Citation

https://cr.yp.to/bib/1975/aho.pdf