Pattern Matching

KMP, Z, and Rabin-Karp.