扩展算法PPT讲稿.ppt
《扩展算法PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《扩展算法PPT讲稿.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、扩展算法扩展算法第1页,共17页,编辑于2022年,星期日【扩展的【扩展的KMPKMP算法】算法】扩展的扩展的KMPKMP问题:问题:给定母串S,和子串T。定义n=|S|,m=|T|,extendi=Si.n与T的最长公共前缀长度。请在线性的时间复杂度内,求出所有的extend1.n。第2页,共17页,编辑于2022年,星期日容易发现,如果有某个位置i满足extendi=m,那么T就肯定在S中出现过,并且进一步知道出现首位置是i而这正是经典的KMP问题。因此可见“扩展的KMP问题”是对经典KMP问题的一个扩充和加难。第3页,共17页,编辑于2022年,星期日例子 S=aaaaaaaaaabaa
2、a,T=aaaaaaaaaaa。第4页,共17页,编辑于2022年,星期日extend2=9。为了计算extend2,我们是不是也要进行10次比较运算呢?不然。因为通过计算extend1=10,我们可以得到这样的信息:S1.10=T1.10 S2.10=T2.10。计算extend2的时候,实际上是S2开始匹配T。因为S2.10=T2.10,所以在匹配的开头阶段是“以T2.10为母串,T为子串”的匹配。第5页,共17页,编辑于2022年,星期日设辅助函数nexti表示Ti.m与T的最长公共前缀长度。对上述例子,next2=10。也就是说:T2.11=T1.10 T2.10=T1.9 S2.10
3、=T1.9。这就是说前9位的比较是完全可以避免的!我们直接从S11T10开始比较。这时候一比较就发现失配,因此extend2=9。第6页,共17页,编辑于2022年,星期日下面提出一般的算法。设extend1.k已经算好,并且在以前的匹配过程中到达的最远位置是p。最远位置严格的说就是i+extendi-1的最大值,其中i=1,2,3,k;不妨设这个取最大值的i是a。(下图黄色表示已经求出来了extend的位置)第7页,共17页,编辑于2022年,星期日第一种情况第一种情况第8页,共17页,编辑于2022年,星期日第二种情况第二种情况第9页,共17页,编辑于2022年,星期日整个算法描述结束。上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扩展 算法 PPT 讲稿
限制150内