1 / 6
文档名称:

大学数据结构课件10.kmp.ppt

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

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

分享

预览

大学数据结构课件10.kmp.ppt

上传人:endfrs 2017/10/30 文件大小:310 KB

下载得到文件列表

大学数据结构课件10.kmp.ppt

相关文档

文档介绍

文档介绍:kmp算法
kmp算法是一种改进的字符串匹配算法, ,因此人们称它为克努斯——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是根据给定的模式串p(pattern),定义一个next函数。next函数包含了模式串本身局部匹配的信息。
KMP算法的基本思想
假设在模式匹配的进程中,执行S[i]和P[j]的匹配检查。若S[i]=P[j],则继续检查S[i+1]和P[j+1]是否匹配。若S[i]<>P[j],则分成两种情况:
若j=1,则模式串右移一位,检查S[i+1]和P[1]是否匹配;
若1<j<=m,则模式串右移j-next(j)位,检查S[i]和P[next(j)]是否匹配。
重复此过程直到 j=m 或 i=n 结束。
一般的KMP算法
假设
主串: s: ‘s(1) s(2) s(3) ……s(n)’
模式串:p: ‘p(1) p(2) p(3)…... p(m)’
现在我们假设主串第i个字符与模式串的第j(j<=m)个字符‘失配’(不同)后,主串第i个字符与模式串的第k(k<j)个字符继续比较(为什么?)
此时,s(i)≠p(j), 有
主串:s(1) … s(i-j+1) s(i-j+2) … s(i-1) s(i) ……
|| (相配) || ... || ≠(失配) (1)
匹配串: p(1) p(2) ... p(j-1) p(j) …
由此,我们得到关系式:
‘p(1) p(2) … p(j-1)’= ’ s(i-j+1) s(i-j+2) … s(i-1)’(2)
一般的KMP算法
由于s(i)≠p(j),接下来如果将s(i) 与p(k) (k<j)继续比较,则模式串中的前(k-1)个字符子串必须等于主串第i个字符前的(k-1)个字符子串,并且不可能存在 k'>k (k<j)也满足上述关系。即:
‘p(1) p(2) p(3)…p(k-1)’= ’s(i-k+1)s(i-k+2)…s(i-1)’(3)
即:
主串: s(1)…s(i-k+1) s(i-k +2) … s(i-1) s(i) …
|| (相配) || …|| ? (有待比较)
匹配串: p(1) p(2) … p(k-1) p(k)
由(1)、(2)式可知,若
‘p(1) p(2) … p(k-1)’= ’p(j-k+1)p(j-k+2) … p(j-1)’(4)
则(3)式一定成立。(为什么?)
一般的KMP算法
因为: s(i)≠p(j)
主串:s(1) … s(i-j+1) s(i-j+2) … s(i-1) s(i) ……
|| (相配) || ... || ≠(失配) (1)
匹配串: p(1) p(2) ... p(j-1) p(j) …
‘p(1) p(2) … p(j-1)’= ’ s(i-j+1) s(i-j+2) … s(i-1)’(2)
(2)式说明:主串中第i个字符前的j-1个字符子串等于匹配串中第j个字符前的j-1个字符子串。因为 k < j , 所以主串中第i个字符前的k-1个字符子串必然等于匹配串中第j个字符前

最近更新

2024年内蒙古法院系统招聘457名书记员历年高频.. 284页

2023年重庆市渝北区兴隆镇龙寨村(社区工作人.. 281页

2024年云南德宏盈江县人社局社区协管员招聘1人.. 281页

2023年云南省楚雄州牟定县凤屯镇田丰村(社区.. 280页

2023年四川省乐山市犍为县定文镇(社区工作人.. 285页

2023年山东省淄博市临淄区稷下街道刘家村(社.. 278页

2023年广东广州海珠区住房和建设局属下事业单.. 283页

2023年湖南省长沙市财政局事业单位招聘高频考.. 281页

2023年陕西省西安市临潼区何寨街道何寨(社区.. 278页

2024四川省井研县事业单位招聘36人历年高频难.. 270页

2024山东青岛检验检疫技术发展中心招聘16人历.. 272页

2024年下半年梅州市市直事业单位公开招聘人员.. 279页

2024年内蒙古包头市乡村振兴局所属事业单位人.. 286页

于都—体现中国司法现状 4页

乐都区第四中学2024年冬春火灾 4页

股权代持股权投资股权赠与协议 9页

股东分红权条款计划书 10页

23、校长在初三“二模”教学质量分析会上讲话.. 3页

仓库主管经理面试 5页

【帮帮群】初中化学除杂知识点大总结 (1) 17页

企业标准体系概述讲义 74页

食堂人员安全培训 7页

北京市养老机构一览表(参考) 3页

主耶稣讲的比喻-31-不结果的无花果树的比喻 7页

医院医药代表接待管理制度 7页

李登辉就职演讲 12页

2004年台湾总统就职演说 6页