天天看点

字符串的模式匹配,KMP算法

KMP算法是模式匹配的一种改进的算法,所谓的模式匹配也就是对于两个字符串主串S和模式串T。从主串的S的pos个字符起和模式串中的第一个字符进行比较,如果相等,则继续比较后面的字符,否则从主串的下一个字符重新和模式串 中的字符进行比较,依次类推直到模式T中的每一个字符依次和主串中的S中的一个连续的字符序列相等,我们成为是匹配成功。KMP算法能够提高匹配的效率,当一趟匹配过程中出现主串和模式串中的字符不相等的时候,不需要回溯指针,而是利用已经匹配的部分的结果将模式向右滑动尽可能远的一段距离后继续进行比较。

继续阅读