设目标为S="abcaabbcaaabababaabca",模式为P="babab",① 手工计算P的nextval值;② 写出利用求得的nextval数组,按KMP算法对目标S进行模式匹配的过程。
举一反三
- 设目标为t="abcaabbabcabaacbacba",模式为p="abcabaa",① 计算模式p的nextval函数值;② 不写出算法,只画出利用KMP算法进行模式匹配时每一趟的匹配过程。
- 设字符串S=“aabaabaabaac”,P=“aabaac”, (1)分别给出S和P的next值和nextval值; (2)若S作主串,P作模式串,请给出利用BF算法和KMP算法的匹配过程。 tip:若题目要求计算了nextval值,且没有特别说明,则画匹配过程一般是按照改进后的KMP算法进行
- 设目标串为s-"abcabbaaabababaabca”,模式串为p "babab".不写算法,只画出利用KMP算法进行模式匹配时的每一趟的匹配过程。
- 设目标为 t=“abcaabbabcabaacbacba”,模式为 p=“abcabaa”不写出算法,只画出利用 KMP 算法进行模式匹配时每一趟的匹配过程。
- 设定目标串(主串)和模式串,求模式串的next数组和改进nextval数组,然后分别给出使用Brute-Force和KMP(next数组和改进的nextval数组两种)算法进行模式匹配时的比较过程、比较次数及匹配结果,模式匹配时从目标串的第1个字符开始。 目标串:abcaabbabcabaacbacba 模式串:abcabaa