已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”。采用KMP算法进行匹配,第一次出现“失配”(s[i]≠t[j])时,i=j=5,则下次开始匹配时,i和j的值分别是()。
A.i=1,j=0
B.i=5,j=0
C.i=5,j=2
D.i=6,j=2
第1题:
使用 KMP 算法进行模式匹配的过程中,如果某趟匹配失败, i指示主串中失配的位置,j指示模式串中失配的位置,若k=next[j],则下一趟匹配比较时,模式串的第()位与主串中第i个位置对齐。
A.j-k
B.k
C.j+k
D.j-1
第2题:
对于KMP算法,在模式匹配时指示主串匹配的指针()。
A.失配后,指针不会回退(向左移)
B.失配后,指针不会前进(向右移)
C.失配后,指针始终保持不动
D.失配后,指针始终前进一步(向右移一步)
第3题:
设正文串长度为a,模式串长度为b,则串匹配的KMP算法的时间复杂度为O(a+b)。
第4题:
13、使用 KMP 算法进行模式匹配的过程中,如果某趟匹配失败, i指示主串中失配的位置,j指示模式串中失配的位置,若k=next[j],则下一趟匹配比较时,模式串的第()位与主串中第i个位置对齐。
A.j-k
B.k
C.j+k
D.j-1
第5题:
【填空题】设正文串长度为n,模式串长度为m,则串匹配的KMP算法的时间复杂度为 。