Class BoyerMoore


  • public class BoyerMoore
    extends Object
    The BoyerMoore class finds the first occurrence of a pattern string in a text string.

    This implementation uses the Boyer-Moore algorithm (with the bad-character rule, but not the strong good suffix rule).

    For additional documentation, see Section 5.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

    • Constructor Summary

      Constructors 
      Constructor Description
      BoyerMoore​(char[] pattern, int R)
      Preprocesses the pattern string.
      BoyerMoore​(String pat)
      Preprocesses the pattern string.
    • Constructor Detail

      • BoyerMoore

        public BoyerMoore​(String pat)
        Preprocesses the pattern string.
        Parameters:
        pat - the pattern string
      • BoyerMoore

        public BoyerMoore​(char[] pattern,
                          int R)
        Preprocesses the pattern string.
        Parameters:
        pattern - the pattern string
        R - the alphabet size
    • Method Detail

      • search

        public int search​(String txt)
        Returns the index of the first occurrence of the pattern string in the text string.
        Parameters:
        txt - the text string
        Returns:
        the index of the first occurrence of the pattern string in the text string; n if no such match
      • search

        public int search​(char[] text)
        Returns the index of the first occurrence of the pattern string in the text string.
        Parameters:
        text - the text string
        Returns:
        the index of the first occurrence of the pattern string in the text string; n if no such match
      • main

        public static void main​(String[] args)
        Takes a pattern string and an input string as command-line arguments; searches for the pattern string in the text string; and prints the first occurrence of the pattern string in the text string.
        Parameters:
        args - the command-line arguments