已知模式串t=‘abcaabbabcab’写出用KMP法求得的每个字符对应的next数组。
模式串t的next和nextval值如下:j1 2 3 45 6 7 8 9 10 11 12t串a b c a a b b a b c a bnext[j]0 1 1 1 2 2 3 1 2 3 4 5nextval[j]0 1 1 0 2 1 3 0 1 1 0 50 1 1 1 2 2 3 1 2 3 4 5或者是-1 0 0 0 1 1 2 0 1 2 3 4
举一反三
内容
- 0
中国大学MOOC: 设abcaabbabcab是模式串, 则它的next数组元素依次为( )。
- 1
设定目标串(主串)和模式串,求模式串的next数组和改进nextval数组,然后分别给出使用Brute-Force和KMP(next数组和改进的nextval数组两种)算法进行模式匹配时的比较过程、比较次数及匹配结果,模式匹配时从目标串的第1个字符开始。 目标串:abcaabbabcabaacbacba 模式串:abcabaa
- 2
在KMP模式匹配中,用next数组存放模式串的部分匹配信息。当模式串位j与目标串位i比较时,两字符不相等,则i的位移方式是( )。
- 3
在KMP模式匹配中,用next数组存放模式串的部分匹配信息。当模式串位j与目标串位i比较时,两字符不相等,则i的位移方式是( )。 A: j不变 B: j=next[j] C: i不变 D: i=next[j]
- 4
在KMP模式匹配中,用next数组存放模式串的部分匹配信息。当模式串位j与目标串位i比较时,两字符不相等,则j的位移方式是( )。 A: j=next[j] B: j不变 C: i=next[j] D: i不变