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