In: Computer Science
Thoroughly discuss a real-life example where a Boyer-Moore string search could be used.
Boyer-Moore string search is used in Patern searching.
Pattern searching is an important problem in computer science.
When we do search for a string in notepad/word file or browser or
database, pattern searching algorithms are used to show the search
results. A typical problem statement would be-
Given a text txt[0..n-1] and a pattern pat[0..m-1], write a
function search(char pat[], char txt[]) that prints all occurrences
of pat[] in txt[]. You may assume that n > m.
Examples:
Input: txt[] = "THIS IS A TEST TEXT" pat[] = "TEST" Output: Pattern found at index 10 Input: txt[] = "AABAACAADAABAABA" pat[] = "AABA" Output: Pattern found at index 0 Pattern found at index 9 Pattern found at index 12
Boyer Moore algorithm also preprocesses the pattern.
Boyer Moore is a combination of following two approaches.
1) Bad Character Heuristic
2) Good Suffix Heuristic