数据结构----next函数解释

本文详细介绍了如何计算字符串匹配中的NEXT数组,通过实例说明了NEXT数组的计算规则及其应用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 首先,将第一与第二个NEXT分别写为0,1.

现在来求第三个,如果你求的这个字符的前一个字符或几个连续字符(要以你所求字符的前一个字符为结束字符)与第一个字符或从第一个字符开始连续的几个字符相同,那么就要有相同字符的个数加1,求出来的结果就是你所求字符NEXT!
如下题:
序号 0  1  2  3        10
      b  c  a   b  b  a      d
 next 0    1  2    1  2   4
0号与第1号字符的NEXT值分别为0,1.2号字符的NEXT值为:此时看第1号字符,它与第0号字符不相同,则它的NEXT值为1,再看第4号字符:3号字符为a,它与第0号字符相同,则为1+1=2;6号与第10:6号前是5,虽然它与第0号字符不相同,但是45两号的字符ab01两号的字符相同,故为2+1=3;10号前是9,789abc,012也是abc,故为3+1=4!
懂否?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值