A simple fast hybrid pattern-matching algorithm

  • Authors:
  • Frantisek Franek;Christopher G. Jennings;William F. Smyth

  • Affiliations:
  • Algorithms Research Group, Department of Computing & Software, McMaster University, Hamilton, ON, Canada;School of Computing Science, Simon Fraser University, Burnaby, BC, Canada;Algorithms Research Group, Department of Computing & Software, McMaster University, Hamilton, ON, Canada

  • Venue:
  • CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Knuth-Morris-Pratt (KMP) pattern-matching algorithm guarantees both independence from alphabet size and worst-case execution time linear in the pattern length; on the other hand, the Boyer-Moore (BM) algorithm provides near-optimal average-case and best-case behaviour, as well as executing very fast in practice. We describe a simple algorithm that employs the main ideas of KMP and BM (with a little help from Sunday) in an effort to combine these desirable features. Experiments indicate that in practice the new algorithm is among the fastest exact pattern-matching algorithms discovered to date, perhaps dominant for alphabet size 8 or more.