KMP算法计算方式

next算法和nextval算法计算

        next的进阶版nextval

        j值             1 2 3 4 5 6 7 8

        模式串       a b a a b c a c

        next值       0 1 1 2 2 3 1 2

        nextval值   0 1 0 2 1 3 0 2


计算next的值方法

  1. 第1个是0,第二个是1
  2. max{n个前缀 = n个后缀} 写n+1
  3. 前缀 ≠ 后缀 写1(前缀就是包含第一个字母的,从第一个字母开始;后缀就是包含最后一个字母的,从最后一个字母开始,但是写的顺序是原来串的顺序
  4. 案例:
    1. 串:abcd
    2. 前缀:a,ab,abc
    3. 后缀:d,cd,bcd

例如:

        j值:      1 2 3 4 5 6 7

        模式串:a b c a a b b

        next值:0 1

                第一位和第二位是定下来的

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长袖格子衫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值