## 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 |

DOIs | |

State | Published - Jun 1997 |

## Keywords

- Comparisons
- Exact complexity
- Periodicity
- String matching

## ASJC Scopus subject areas

- Computer Science(all)
- Mathematics(all)