【数据结构-串】手算KMP算法的next和nextval数组
手算KMP算法的next数组
例:求串'ababaaababaa'的next数组
手算KMP算法的nextval数组
nextval数组可由next数组求得,具体求法看以下代码:
// 由 next 数组求得 nextval 数组
string s; // 模式串
for (int i = 0; i < s.length(); i++)
{
if (s[i] != s[next[i]])
nextval[i] = next[i];
else
nextval[i] = nextval[next[i]];
}
例:求串'ababaaababaa'的nextval数组