2009
DOI: 10.1016/j.jcss.2008.08.005
|View full text |Cite
|
Sign up to set email alerts
|

Faster pattern matching with character classes using prime number encoding

Abstract: In pattern matching with character classes the goal is to find all occurrences of a pattern of length m in a text of length n, where each pattern position consists of an allowed set of characters from a finite alphabet Σ. We present an FFT-based algorithm that uses a novel prime-numbers encoding scheme, which is log n/ log m times faster than the fastest extant approaches, which are based on boolean convolutions. In particular, if m |Σ| = n O (1) , our algorithm runs in time O (n log m), matching the complexit… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
15
0

Year Published

2009
2009
2021
2021

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 14 publications
(15 citation statements)
references
References 20 publications
0
15
0
Order By: Relevance
“…The convolution, or cross-correlation, of two O (n log m). According to [8], we assume that σ 2m, since each 2m-long piece of the text contains at most 2m symbols.…”
Section: T[n]mentioning
confidence: 99%
See 3 more Smart Citations
“…The convolution, or cross-correlation, of two O (n log m). According to [8], we assume that σ 2m, since each 2m-long piece of the text contains at most 2m symbols.…”
Section: T[n]mentioning
confidence: 99%
“…For c k , we have c k ≡ 1 (mod ρ k ) and c k ≡ 0 (mod ρ k ), k = k. By the CRT, code(S) = ρ k ∈S c k . In [8], this method is used to encode the character classes where each character is associated with a distinct prime number.…”
Section: Encodingmentioning
confidence: 99%
See 2 more Smart Citations
“…Bit-parallelism can be used to simulate a nondeterministic automaton; the best result along these lines [10] yields O(nm/w) time. A prime-number encoding scheme was proposed in [11] for k-mismatches with character classes, to achieve O(nσ) time if, for example, both log 2 m = O(log n) and log m = O(σ) hold. Table 1.…”
Section: Introductionmentioning
confidence: 99%