单选题 在字符串的KMP模式匹配算法中,需要求解模式串p的next函数值,其定义如下所示。若模式串p为“aaabaaa”,则其next函数值为_______。
【正确答案】 A
【答案解析】 本题考查字符串的模式匹配运算。 KMP模式匹配算法是对基本模式匹配算法的改进,其改进之处在于:每当匹配过程中出现相比较的字符不相等时,不需要回溯主串的字符位置指针,而是利用已经得到的“部分匹配”结果将模式串向右“滑动”尽可能远的距离,再继续进行比较。 在KMP算法中,依据模式串的next函数值实现于串的滑动。若令next[j]=k,则next[j]表示当模式串中的Pj与主串中相应字符不相等时,令模式串的pk与主串的相应字符进行比较。 根据next的定义,模式串“aaabaaa”的next函数值为0123123。