数据结构——串

第五章 串

5.1 串的实现和定义

5.1.1 串的基本定义和操作

image-20240504164512506

image-20240504161443722

image-20240504164252942

image-20240504164328989

image-20240504164352935

image-20240504164426676

5.1.2 串的存储结构

image-20240504174353272

image-20240504174120901

image-20240504174139983

image-20240504174157853image-20240504174227032

image-20240504174254690

image-20240504174312194

image-20240504174330698

5.2 串的模式匹配

5.2.1 朴素模式匹配算法

image-20240504183202052

image-20240504183238048

image-20240504183254124

image-20240504183907644

image-20240504183926752

image-20240504183951608

image-20240504184010788

5.2.2.1 KMP算法

参考视频理解:
1.https://www.bilibili.com/video/BV1jb411V78H/?spm_id_from=333.337.search-card.all.click&vd_source=acf16d7dd663647ffa9418f89c84c5dc

2.https://www.bilibili.com/video/BV1AY4y157yL/?spm_id_from=333.337.search-card.all.click&vd_source=acf16d7dd663647ffa9418f89c84c5dc

image-20240504215756535

image-20240504220405744

image-20240504220604211

image-20240504220628952

image-20240504220645702

image-20240504220705447

image-20240504220732881

注意:主串只遍历一遍。

5.2.2.2 求next数组

image-20240504225341712

image-20240504225423665

image-20240504225450143

image-20240504225506831

5.2.3 KMP算法的进一步优化

ng

模式串T中next[3]与next[1]一样都是a,故将他们的值都赋成一样。下面next[5]与next[2]同理。

image-20240504233134421

在这里插入图片描述

image-20240504233325636

image-20240504233404724

image-20240504233440228

在这里插入图片描述

image-20240504233554547

优化后,节省很多比较的次数。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值