String Matching

String matching is a fundamental problem in computer science, which involves finding the first occurrence of a given pattern in a text. This problem arises in many applications, such as searching for a character string in a text, finding a pattern in DNA sequences, decoding graphical or audio data, or searching for a sublist in linked lists. In this post, we will explore three different approaches to solving the string matching problem: a straightforward solution, the Rabin-Karp Algorithm, and the Boyer-Moore Algorithm. Also, this post is a lecture notes of the SC2001
course in NTU, covering common string matching algorithms.