Boyer

Boyer
  
            License: Freeware $0.00
            OS: Java,Linux,Mac OS X,Unix,Win2000,Win7 x32,Win7 x64,WinServer,WinVista,WinVista x
            Requirements: Java 1.1+
            Publisher: Canadian Mind Products
            Homepage: http://mindprod.com
          

Fast string search (indexOf) using the Boyer-Moore
algorithm. Incorporate this class into your own Java
programs to rapidly search strings.

use:
import com.mindprod.Boyer.Boyer;

Boyer b = new Boyer(“dogcatwombat”);
int where = b.indexOf(“cat”);
or
int where = Boyer.indexOf(“dogcatwombat”,”cat”);

Boyer-Moore is about twice as fast as String.indexOf when
the string you are searching in is 2K or over and the
pattern you are searching for is 4 characters or longer.

String.indexOf is particularly slow when the pattern begins
with a common letter such as “e”. Boyer-Moore is fastest
when the pattern is long and composed only of uncommon
letters, e.g. “z” or “^”. If you use a char[] instead of
String for your text to be searched, it will run an
additional 33% faster.

Boyer automatically reverts to String.indexOf when that
would be faster.


Share this post