上回说到数据结构-KMP算法,那么今天小编就带着相关真题来啦!
(统考真题)已知字符串s为“abaabaabacacaabaabcc”,模式串t为“abaabc5’。采用KMP算法进行匹配,第一次出现“失配”(s≠t[j])时,i=j=5,则下次开始匹配时,i和j的值分别是()。
A.i=1,j=0B.i=5,j=0
C.i=5,j=2D.i=6,j=2
解:
首先要计算出模式串t的next数组
j
0
1
2
3
4
5
P[j]
a
b
a
a
b
c
next[j]
-1
0
0
1
1
2
第一躺匹配时i=5,j=5失败:
s:abaabaabacacaabaabcc
t:abaabc
第二趟开始匹配时应该如下所示,可见i=5,j=2:
s:abaabaabacacaabaabcc
t:abaabc
答案为:C
更多考研福利