G
N
I
D
A
O
L

【数据结构-串】手算KMP算法的next和nextval数组

手算KMP算法的next数组

例:求串'ababaaababaa'的next数组

image

image

手算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数组

image

posted @ 2022-07-28 13:15  漫舞八月(Mount256)  阅读(189)  评论(0编辑  收藏  举报