虽然在上一篇文章中已经全面介绍了KMP算法和前缀函数的计算过程。但是鉴于前缀函数的计算比较难以理解,这里再专门详细解释一下KMP算法中next[]数组的含义和实现过程,帮助加深理解。
简单的说,前缀函数主要是求出模式串中的next数组,那么什么是模式串呢?模式串模式串的概念很简单。举个例子:“给出一个字符串 T,再给出 n 个字符串 S1、S2...Sn,问 S1、S2...Sn 中有哪些是 T 的子串?”在这个例子中,S1、S2...Sn 便是 n 个模式串,T便是被匹配串。模式串是用来与被匹配串匹配的。
next数组的主要意义是: