1 / 6
文档名称:

KMP算法详解.doc

格式:doc   大小:61KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

KMP算法详解.doc

上传人:mh900965 2018/2/28 文件大小:61 KB

下载得到文件列表

KMP算法详解.doc

文档介绍

文档介绍:(1)以一个例子引入KMP算法
先看朴素模式匹配过程:
(a)S: a  b  b  a  b  a
       =  =  ≠
   P: a  b  a
(b)P3≠S3,P右移一位
   S: a  b  b  a  b  a
     
(c) P1≠S2,P右移一位
    S: a  b  b  a  b  a
              ≠
    P:       a  b  a
(d) P1≠S3,P右移一位
   S: a  b  b  a  b  a
                =  =  =
   P:          a  b  a
(e)匹配成功index(S,P)=4,  substr(S,4,3)=P
 
 
从匹配过程看:
    首先在(a)中p1=s1,p2=s2,p3≠s3,只需将模式右移到s3,不需将主串回溯到s2;
    其次,由于p1≠p2,可推出p1≠s2,做(b)的比较一定不等; 再由p1=p3,可以推出p1≠s3,做(c)的比较也一定不等。
    因此,由(a)便可直接将P右移三位跳到(d),从p1和t4开始进行比较,这样的匹配过程对S(主串)而言就消除了回溯。
    为要找到一个无回溯的匹配算法,关键在于当匹配过程中,一旦pj和si比较不等,存在:
 
substr(p,1,j-1)=substr(s,i-j+1,j-1)
pj≠si
 
改进的模式匹配算法的思想:
   在匹配过程中,当主串第i个字符与模式串第j个字符“失配”时,要产生模式串右移的位数和继续与主串(主串无回溯的)比较的字符,即应该用P中哪个字符和Si进行比较?把这个字符记为Pk,显然有k<j,并且对不同的j,k值也不相同。这个k 值仅依赖于模式P本身前j个字符的构成,而与目标S无关。
    一般用next[j]表示与j对应的k值,表明当模式中第j个字符与主串中第i个字符“失配”时,在模式中需重新和主串中第i字符进行比较的字符的位置。
 
s1 s2……………..si-k+1……..si-1 si   si+1……sn
    p1p2……pk-1  -k+1 …………pj-1 pj  pj+1…..pm
   假设此时应与模式串中第k个字符继续比较,则模式中前k-1个字符的子串必须满足下列关系:
    “p1p2…pk-1”=“si-k+1si-k+2…si-1”
由部分匹配知: “pj-k+1pj-k+2…pj-1”=“si-k+1si-k+2…si-1”
推得: “p1p2…pk-1”= “pj-k+1pj-k+2…pj-1
 
                 0     当j=1时
 next[j]=  Max{k|1<k<j且“p1p2…pk-1”= “pj-k+1pj-k+2…pj-1”
            1      其它情况
 
 
例:            ¯i=3
第一趟匹配  a b a b c a b c a c b a b
            a b c a c
                j=3   next[3]=1
                   ¯i 

最近更新

(完整)激光切割机加工实验报告 13页

2018年度人教版八年级物理上册第十一章功和机.. 9页

2020春季部编版小学一年级语文下册第一单元测.. 6页

2021年北京初二二模生物汇编:实验探究题 10页

2022-2023学年四川省成都市金牛区市级名校毕业.. 12页

2022年9月18日湖北省直遴选面试真题及答案深度.. 4页

2022年安徽省淮南二中自主招生数学试卷 7页

2022年湖南省长沙市中考数学试卷(含答案) 29页

2023学生心理辅导计划及措施7篇 13页

2023年公务员结构化面试五大常见题型解题思路.. 6页

2023年江苏省中考生物第一轮复习卷:6人体血液.. 35页

2023年词汇与语法结构专项训练营十 27页

2024年终端安全产品市场调研报告 4页

AO工艺标准规范标准设计计算参考材料 23页

IP语音系统方案 16页

妊娠期糖尿病个案护理ppt课件 27页

妊娠期合并心脏病的护理ppt 23页

《报刊宣传稿件征集管理考核办法》 17页

《计算机应用基础习题集》课后答案 22页

【鼎尖教案】高中化学(大纲版)第三册 第二单元.. 7页

中国古代文学史二论述题 11页

事故树分析范例 7页

人教版六年级下册英语第四单元单词 19页

企业财务信息化系统软硬件选型方案 14页

保险原理科目题库 25页

全大学英语综合教程第一册UNIT6 10页

六年级思维专项训练20 数论综合(原卷+解析) 12页

农业农村部对十三届全国人大三次会议第9171号.. 5页

初中班级活动方案 26页

气管切开术后护理和并发症ppt 19页