下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 KMP的扩展 n n n 扩展KMP算法即利用已得到的信息来减少冗余的比较。 给定母串S,和子串T。 定义n=|S|, m=|T|,extendi=Si.n与T的最长公共 前缀长度。请在线性的时间复杂度内,求出所有的 extend1.n。例如S=aaaaaaaaaabaaa, T=aaaaaaaaaaa。 n n extend2=9。为了计算extend2,我们是不是也要进 行10次比较运算呢?不然。 因为通过计算extend1=10,我们可以得到这样的信息: S1.10=T1.10 S2.10=T2.10。 2015/8/6 6 n n n n 计算extend2的时候,实际上是S2开始匹
2、配T。因为 S2.10=T2.10,所以在匹配的开头阶段是“以T2.10 为母串,T为子串”的匹配 设辅助函数nexti表示Ti.m与T的最长公共前缀长度。 对上述例子,next2=10。也就是说:T2.11=T1.10; T2.10=T1.9;S2.10=T1.9。这就是说前9位的 比较是完全可以避免的!我们直接从S11T10开始 比较。这时候一比较就发现失配,因此extend2=9。 下面提出一般的算法。 设extend1.k已经算好,并且在以前的匹配过程中到达 的最远位置是p。最远位置严格的说就是i+extendi-1的 最大值,其中i=1,2,3,k;不妨设这个取最大值的i是a。 (下图黄色表示已经求出来了extend的位置 2015/8/6 7 2015/8/6 8 n n n n 整个算法描述结束。 上述算法是线性算法。原因如下: 容易看出,在计算的过程中,凡是访问过的点,都 不需要重新访问了。一旦比较,都是比较以前从不曾探 访过的点开始。因此总的时间复杂度是O(n+m,是线性 的。 还剩下一个问题:next这个辅助数组怎么计算?复杂 度是多少?我们发现计算next实际上以T为母串、T为 子串的一个特殊“扩展的KMP”。用next本身计算next, 具体可以参考标准KMP。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB 3705-T 17-2024《白榆组织培养育苗技术规程》
- 一年级口算练习题大全(可直接打印A4)
- 文书模板-《固定资产移交报告》
- 玻璃制造的保温与隔热效应考核试卷
- 家庭纺织品的销售模式与渠道考核试卷
- 学校书法教师工作总结5篇
- 知识产权保护的重要性考核试卷
- 山东省青岛市李沧区2024-2025学年六年级上学期期中英语试卷
- 林业可再生能源产业的开发与利用考核试卷
- 焙烤食品制造中的产品质量标准与认证体系考核试卷
- 期中试卷(试题)-2024-2025学年三年级上册数学青岛版
- 期中押题卷(试题)-2024-2025学年数学六年级上册北师大版
- 期中模拟(1-3单元)(试题)-2024-2025学年六年级上册数学苏教版
- 统编版2024年新版道德与法治七年级上册第二单元《成长的时空》单元整体教学设计
- 点亮文明 课件 2024-2025学年苏少版(2024)初中美术七年级上册
- 廉政法规知识测试及答案
- 托育服务中心项目可行性研究报告
- 2024内蒙古农牧业融资担保限公司招聘28人高频难、易错点500题模拟试题附带答案详解
- 5.1 延续文化血脉 课件-2024-2025学年统编版道德与法治九年级上册-2
- 湖北省襄阳市2023-2024学年六年级上学期语文期中考试试卷(含答案)
- 2024-2030年中国CCUS技术行业现状调查与前景策略分析研究报告
评论
0/150
提交评论