前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据结构 | 每日一练(110)

数据结构 | 每日一练(110)

作者头像
小林C语言
修改2019-07-12 17:54:28
4770
修改2019-07-12 17:54:28
举报

数据结构

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下

——老子

1

每日一练

1.模式匹配算法是在主串中快速寻找模式的一种有效的方法,如果设主串的长度为 m,模式的长度为 n,则在主串中寻找模式的 KMP 算法的时间复杂性是多少?如果,某一模式 P=’abcaacabaca’,请给出它的NEXT 函数值及 NEXT 函数的修正值 NEXTVAL 之值。

2.设目标为 S=‘abcaabbcaaabababaabca’,模式为 P=‘babab’,

(1)手工计算模式 P 的 nextval 数组的值;

(2)写出利用求得的 nextval 数组,按 KMP 算法对目标 S 进行模式匹配的过程。

3.用无回溯的模式匹配法(KMP 法)及快速的无回溯的模式匹配法求模式串 T 的 next[j]值,添入下面表中:

正确答案

PS:||代表注释

1.KMP算法的时间复杂性是O(m+n)。

p的next和nextval值分别为01112212321和01102201320。

2.(1)p的nextval函数值为01010。(next函数值为01123)

(2)利用所得nextval数值,手工模拟对s的匹配过程,与上题类似。

3.模式串T的next和nextval值分别为0121123和0021002。

-end-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-06 07:30:00,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档