### Abstract

This paper considers how many character comparisons are needed to find all occurrences of a pattern of length m in a text of length n. The main contribution is to show an upper bound of the form of n + O(n/m) character comparisons, following preprocessing. Specifically, we show an upper bound of n + 8/3(m+1)(n - m) character comparisons. This bound is achieved by an online algorithm which performs O(n) work in total and requires O(m) space and O(m ^{2}) time for preprocessing. The current best lower bound for online algorithms is n + 16/7m+27(n - m) character comparisons for m = 16k + 19, for any integer k ≥ 1, and for general algorithms is n + 2/m+3 (n - m) character comparisons, for m = 2k + 1, for any integer k ≥ 1.

Original language | English (US) |
---|---|

Pages (from-to) | 803-856 |

Number of pages | 54 |

Journal | SIAM Journal on Computing |

Volume | 26 |

Issue number | 3 |

State | Published - Jun 1997 |

### Fingerprint

### Keywords

- Comparisons
- Exact complexity
- Periodicity
- String matching

### ASJC Scopus subject areas

- Theoretical Computer Science
- Computational Theory and Mathematics
- Applied Mathematics

### Cite this

*SIAM Journal on Computing*,

*26*(3), 803-856.

**Tighter upper bounds on the exact complexity of string matching.** / Cole, Richard; Hariharan, Ramesh.

Research output: Contribution to journal › Article

*SIAM Journal on Computing*, vol. 26, no. 3, pp. 803-856.

}

TY - JOUR

T1 - Tighter upper bounds on the exact complexity of string matching

AU - Cole, Richard

AU - Hariharan, Ramesh

PY - 1997/6

Y1 - 1997/6

N2 - This paper considers how many character comparisons are needed to find all occurrences of a pattern of length m in a text of length n. The main contribution is to show an upper bound of the form of n + O(n/m) character comparisons, following preprocessing. Specifically, we show an upper bound of n + 8/3(m+1)(n - m) character comparisons. This bound is achieved by an online algorithm which performs O(n) work in total and requires O(m) space and O(m 2) time for preprocessing. The current best lower bound for online algorithms is n + 16/7m+27(n - m) character comparisons for m = 16k + 19, for any integer k ≥ 1, and for general algorithms is n + 2/m+3 (n - m) character comparisons, for m = 2k + 1, for any integer k ≥ 1.

AB - This paper considers how many character comparisons are needed to find all occurrences of a pattern of length m in a text of length n. The main contribution is to show an upper bound of the form of n + O(n/m) character comparisons, following preprocessing. Specifically, we show an upper bound of n + 8/3(m+1)(n - m) character comparisons. This bound is achieved by an online algorithm which performs O(n) work in total and requires O(m) space and O(m 2) time for preprocessing. The current best lower bound for online algorithms is n + 16/7m+27(n - m) character comparisons for m = 16k + 19, for any integer k ≥ 1, and for general algorithms is n + 2/m+3 (n - m) character comparisons, for m = 2k + 1, for any integer k ≥ 1.

KW - Comparisons

KW - Exact complexity

KW - Periodicity

KW - String matching

UR - http://www.scopus.com/inward/record.url?scp=4043113631&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=4043113631&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:4043113631

VL - 26

SP - 803

EP - 856

JO - SIAM Journal on Computing

JF - SIAM Journal on Computing

SN - 0097-5397

IS - 3

ER -