32 String Matching 32.1 The naive string-matching algorithm 32.2 The Rabin-Karp algorithm 32.3 String matching with finite automata 32.4 The Knuth-Morris-Pratt algorithm Problems