Scout Algorithm For Fast Substring Matching

Exact substring matching is a common task in many software applications. Despite the existence of several algorithms for finding whether or not a pattern string is present in a target string, the most common implementation is a naive, brute force approach. Alternative approaches either do not provide enough of a benefit for the added complexity, or are impractical for modern character sets, e.g., Unicode. We present a new algorithm, Scout, that is straightforward, quick and appropriate for all applications. We also compare the performance characteristics of the Scout algorithm with several others.

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

[2]  Peter Weiner,et al.  Linear Pattern Matching Algorithms , 1973, SWAT.

[3]  Maxime Crochemore String-Matching on Ordered Alphabets , 1992, Theor. Comput. Sci..

[4]  Tadao Takaoka,et al.  On improving the average case of the Boyer-Moore string matching algorithm , 1988 .

[5]  Thierry Lecroq A Variation on the Boyer-Moore Algorithm , 1992, Theor. Comput. Sci..

[6]  Thierry Lecroq,et al.  Exact string matching algorithms , 1997 .

[7]  P. D. Smith On tuning the boyer‐moore‐horspool string searching algorithm , 1994, Softw. Pract. Exp..

[8]  Maxime Crochemore,et al.  Factor Oracle: A New Structure for Pattern Matching , 1999, SOFSEM.

[9]  Livio Colussi,et al.  Fastest Pattern Matching in Strings , 1994, J. Algorithms.

[10]  Raffaele Giancarlo,et al.  The Boyer-Moore-Galil String Searching Strategies Revisited , 1986, SIAM J. Comput..

[11]  P. D. Smith Experiments with a very fast substring search algorithm , 1991, Softw. Pract. Exp..

[12]  Raffaele Giancarlo,et al.  On the Exact Complexity of String Matching: Upper Bounds , 1992, SIAM J. Comput..

[13]  Zvi Galil,et al.  Time-Space-Optimal String Matching , 1983, J. Comput. Syst. Sci..

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

[15]  Maxime Crochemore,et al.  Two-way string-matching , 1991, JACM.

[16]  Alfred V. Aho,et al.  Efficient string matching , 1975, Commun. ACM.

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

[18]  Maxime Crochemore,et al.  Optimal Canonization of All Substrings of a String , 1991, Inf. Comput..

[19]  Gonzalo Navarro,et al.  A Bit-Parallel Approach to Suffix Automata: Fast Extended String Matching , 1998, CPM.

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

[21]  Thomas Berry,et al.  A Fast String Matching Algorithm and Experimental Results , 1999, Stringology.

[22]  Raffaele Giancarlo,et al.  On the Exact Complexity of String Matching: Lower Bounds , 1991, SIAM J. Comput..

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

[24]  Imre Simon String Matching Algorithms and Automata , 1994, Results and Trends in Theoretical Computer Science.

[25]  Wojciech Plandowski,et al.  Deux méthodes pour accélérer l'algorithme de Boyer-Moore , 1992 .