KMP算法

看这个看懂的
另外参考这篇文章
计算那个next的时候确实有点难懂,但是看完这个博客下面那个图的时候我算是明白了,计算next值的k=next[k]和匹配的j=next[j]其实是一个意思,只不过一个是拿自己匹配自己,另外一个是拿主串匹配模式串。
其实要说懂了吧,也不是很透彻,但也不知道有什么办法能够加深对它的理解了。
另外还有一点,next里的值是P串(模式串)的,并非是主串。(确实也只需要模式串的值,因为你都匹配成功了,前面都有几个一样的了,计算模式串的显然正确点,主串反而会被前后干扰)
至于前缀后缀,相信下面这个图说的再清楚不过了,最后一列整体往下挪动,第一位改为-1就是next数组里的值了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值