【笔记】KMP算法相关计算题(选择题)

本文通过两个实例详细解析了KMP算法中next数组的生成及其应用,探讨了next值从-1、0开始的区别,并分享了个人理解。

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

例1:串“ababaaababaa”的next数组:
答:
作出模式串一集对应字符下标(此处从-1开始):

a b a b a a a b a b a a
0 1 2 3 4 5 6 7 8 9 10 11

S的串长度为0时,next [0] = -1;
S的串长度为1时,next [1] = 0;
S的串长度为2时,S串为“ab”,next[2] = 0;
S的串长度为3时,S串为“aba”,next[3] = 1;
S的串长度为4时,S串为“abab”,next[4] = 2;
S的串长度为5时,S串为“ababa”,next[5] = 3;
S的串长度为6时,S串为“ababaa”,next[6] = 1;
S的串长度为7时,S串为“ababaaa”,next[7] = 1;
S的串长度为8时,S串为“ababaaab”,next[8] = 2;
S的串长度为9时,S串为“ababaaaba”,next[9] = 3;
S的串长度为10时,S串为“ababaaabab”,next[10] = 4;
S的串长度为11时,S串为“ababaaababa”,next[11] = 5;

例2:
已知字符串S为”abaabaabacacaabaabcc”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值