社区
数据结构与算法
帖子详情
kmp算法的一点小问题
zalyer
2003-11-21 11:25:33
学习数据结构的时候在kmp算法的旁边记录了这么一句话:
设模式串长度m,目标串长度n,当m约等于n且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价也可能更为节省。
现在重读此句不太理解,这句话应该是说kmp和朴素的匹配算法的比较,但是我不明白在什么情况下能出现所说的“所花的时间代价也可能更为节省”?
请大家给看看,有没有这种情况发生,如果有请给我举个例子,还是这句话就不是再说这两个东西的?
...全文
28
3
打赏
收藏
kmp算法的一点小问题
学习数据结构的时候在kmp算法的旁边记录了这么一句话: 设模式串长度m,目标串长度n,当m约等于n且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价也可能更为节省。 现在重读此句不太理解,这句话应该是说kmp和朴素的匹配算法的比较,但是我不明白在什么情况下能出现所说的“所花的时间代价也可能更为节省”? 请大家给看看,有没有这种情况发生,如果有请给我举个例子,还是这句话就不是再说这两个东西的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ZhangYv
2003-11-22
打赏
举报
回复
也就是说字符串n和m差不多长会更节省
比如n = 5,m = 5
朴素匹配只要一次即可,而KMP还要计算最大真前缀函数等等...
n = 6,m = 7也类似的.
短歌如风
2003-11-22
打赏
举报
回复
事实上不只是串匹配如此,一般的问题都是当规模比较小时简单的算法更快,而当规模比较大时则是时间复杂度低的算法快。
stephen85
2003-11-22
打赏
举报
回复
同意!
字符串模式匹配
KMP算法
.pptx
在实际应用中,
KMP算法
通常用于解决诸如文本编辑、文件搜索、生物信息学序列分析等领域中的字符串匹配
问题
。由于其优秀的效率,
KMP算法
能够大幅减少不必要的字符比较,从而在处理大规模数据时能够显著提高性能。 ...
KMP、Mancher和扩展
KMP算法
详解
KMP、Mancher和扩展
KMP算法
详解,但是其中的参考代码有
一点
小错误,请自行参考网络
深入浅出详解
KMP算法
(完美版).pdf
为了实现这
一点
,需要在
KMP算法
的实现过程中,通过PMT表预先计算好每一步的滑动距离。在算法实现时,PMT表的构建是关键步骤之一。 综上所述,
KMP算法
的两个核心步骤为: 1. 预处理模式串,构建PMT表。 2. 利用PMT表...
字符串匹配算法总结
2. **
KMP算法
**:由Knuth、Morris和Pratt提出的
KMP算法
通过构建部分匹配表来提高效率。该表记录了模式串中每个位置之前的最长前后缀和后缀的长度。当发生不匹配时,模式串会根据部分匹配表向前跳跃,避免了不必要的...
KMP字符串模式匹配详解
然而,
KMP算法
通过构建一个部分匹配表(也称为“next数组”)来改进这一过程。部分匹配表记录了在模式串中,如果当前字符与主字符串中的某个字符不匹配,我们可以跳过多少个字符而不必重新从头开始匹配。具体来说,...
数据结构与算法
33,029
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章