Package edu.princeton.cs.algs4
Class BoyerMoore
- Object
-
- edu.princeton.cs.algs4.BoyerMoore
-
public class BoyerMoore extends Object
TheBoyerMoore
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.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.int
search(char[] text)
Returns the index of the first occurrence of the pattern string in the text string.int
search(String txt)
Returns the index of the first occurrence of the pattern string in the text 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 stringR
- 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
-
-