1

子串为:
abaabcac

next[3] = 1
j=3,k =1

next[4]=2
j=4, k=2
p1 = p3 =a
p2 = b
p4 = a
next[5] = ?
page93 看不懂


j=8
k=next[8] =4
p[j] = p[k] =p[8] = p[4] = d
next[j+1] = next[9] = next[8] + 1 =5


j=8
k=next[8] =4
p[j] =p[8] =d
p[k]=p[4] = e
p[k]#p[j]
向右移动
p[j] = d
next[k+1] = next[5]=a
例子:

next[6] = 3
p[6]=c
p[3]=a
p[6]#p[3]
next[3] =1
p[6] =c
p[1] = a
p6#p1
next[1] = 0
p[6]=c
p[0]

本文解析了如何使用next数组在KMP算法中进行字符串匹配,通过实例详细讲解了next数组的计算过程以及如何利用它高效地查找子串。重点介绍了计算next[5]和处理p[j]#p[k]的情况,帮助读者掌握字符串模式匹配中的核心概念。

723

被折叠的 条评论
为什么被折叠?



