Hybrid string matching algorithm with a pivot

Pattern matching is important in text processing, molecular biology, operating systems and web search engines. Many algorithms have been developed to search for a specific pattern in a text, but the need for an efficient algorithm is an outstanding issue. In this paper, we present a simple and practical string matching algorithm. The proposed algorithm is a hybrid that combines our modification of Horspool’s algorithm with two observations on string matching. The algorithm scans the text from left to right and matches the pattern from right to left. Experimental results on natural language texts, genomes and human proteins demonstrate that the new algorithm is competitive with practical algorithms.

[1]  Jorma Tarhio,et al.  Comparison of Exact String Matching Algorithms for Biological Sequences , 2008, BIRD.

[2]  Domenico Cantone,et al.  Bit-(Parallelism)2: Getting to the Next Level of Parallelism , 2010, FUN.

[3]  Ricardo A. Baeza-Yates,et al.  String Searching Algorithms Revisited , 1989, WADS.

[4]  Thierry Lecroq,et al.  Fast exact string matching algorithms , 2007, Inf. Process. Lett..

[5]  M. Oguzhan Külekci Filter Based Fast Matching of Long Patterns by Using SIMD Instructions , 2009, Stringology.

[6]  Jorma Tarhio,et al.  Improving practical exact string matching , 2010, Inf. Process. Lett..

[7]  Frantisek Franek,et al.  A simple fast hybrid pattern-matching algorithm , 2007, J. Discrete Algorithms.

[8]  Thierry Lecroq,et al.  The exact online string matching problem: A review of the most recent results , 2013, CSUR.

[9]  Daniel Sunday,et al.  A very fast substring search algorithm , 1990, CACM.

[10]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[11]  Gaston H. Gonnet,et al.  A new approach to text searching , 1992, CACM.

[12]  R. Nigel Horspool,et al.  Practical fast searching in strings , 1980, Softw. Pract. Exp..

[13]  Guomin Zhang,et al.  A Bit-Parallel Exact String Matching Algorithm for Small Alphabet , 2009, FAW.

[14]  Richard M. Karp,et al.  Efficient Randomized Pattern-Matching Algorithms , 1987, IBM J. Res. Dev..

[15]  Szymon Grabowski,et al.  Practical and Optimal String Matching , 2005, SPIRE.

[16]  Robert S. Boyer,et al.  A fast string searching algorithm , 1977, CACM.

[17]  Haifeng Ma,et al.  Fast Variants of the Backward-Oracle-Marching Algorithm , 2009, 2009 Fourth International Conference on Internet Computing for Science and Engineering.

[18]  Thierry Lecroq,et al.  A Fast Suffix Automata Based Algorithm for Exact Online String Matching , 2012, CIAA.