7.3 字符串匹配算法(KMP算法、Rabin-Karp算法) 7.3 字符串匹配算法 字符串匹配是计算机科学中一个基础且重要的课题。它的目标是在一个文本串(Text)中找到一个或多个模式串(Pattern)的出现位置。本节将介绍两种经典的字符串匹配算法:KMP 算法和 Rabin-Karp 算法。 7.3.1 KMP 算法(Knuth-Morris-Pratt Algorithm) KMP 算法是一种高效的字符串匹配算法,由 Knuth、Morris 和 Pratt 共同提出。它通过预处理模式串,构建一个状态转移表(通常称为 next 数组或 failure 函数),从而避免在匹配过程中不必要的回溯,大大提高了匹配效率。 1.