1 / 22
文档名称:

字符串匹配算法(PPT).pptx

格式:pptx   页数:22页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

字符串匹配算法(PPT).pptx

上传人:用户头像没有 2015/10/14 文件大小:0 KB

下载得到文件列表

字符串匹配算法(PPT).pptx

相关文档

文档介绍

文档介绍:字符串匹配算法
主讲人:郭鹏飞
武汉光电国家实验室
字符串匹配算法
BF算法(Brute Force)
KMP算法(Knuth-Morris-Pratt)
Horspool算法
Sunday算法
BM算法(Boyer-Moore)
约定
文本串(T):被检索的字符串,查找其中是否有某子字符串
模式串(M):文本串中要检索出的子串
i:文本串中当前参与比较的元素下标
j:模式串中当前参与比较的元素下标
失配:与匹配相反,指T串与M串某位进行比较时出现不相等的情况。
BF算法
原理:首先将文本串和模式串左对齐,然后从左向右一个一个进行比较,如果不成功则模式串向右移动一个单位。
优点:简单易懂,易于实现
缺点:时间复杂度为O(len(T)*len(M))
KMP算法
KMP算法是一个经典的字符串匹配算法。
主要思想是:每当一趟匹配过程中出现失配时,不需回溯i,而是利用已经得到的“部分匹配”的结果将模式串向右滑动尽可能远的距离后继续进行比较。
实例:
KMP算法
算法原理:

当然,也可能正确匹配结果在T[i]之后,此时的位移值s>j,只需要选取位移j+1(s>=j+1)位,此时,也不会滤过正确匹配位移值。
失配后,M串要向右移动。如果移动s(j>=s>0)位后,为正确匹配结果,那么有M[j-1]=M[j-s-1],M[j-2]= M[j-s-2],……, M[s] = M[0],且M[j]!=M[j-s]。以上是正确匹配的必要条件。
根据此必要条件,寻找符合条件的位移大小s。而满足这个必要条件的s可能有多个,那么只需选取其中最小s(最大重复串),这样就不会滤过正确匹配位移值。
KMP算法
失配后最大重复串求法:
Mr[j] = Max{k|k=0 或 0<k<j且’M[0]…..M[k-1]’= ‘M[j-k]…..M[j-1]’} (j >0)
失配后模式串M最小位移求法:
位移大小实际会转换成 j 位置的更换,此处直接使用next[j]来表示M[j]失配后 j 的新值。
KMP算法
算法流程:
1、计算next[j]数组,左对齐T串与M串,i=j=0;
2、从i开始依次比较T[i]与M[j]字符;
3、如果匹配则i、j递增;
4、如果失配,那么:当next[j]=-1时,i++,j=0;当next[j]!=-1时,j=next[j]。转向步骤2。
Horspool算法
原理:
首先将T串与M串左端对齐;
从M串的末位从右到左比较字符;
匹配就继续比较直到比较完成;
失配的情况下,从M串失配的位置起,往左寻找与T串失配字符相等的字符,然后将M串向右移动相应的距离,转移到步骤2;找不到,则将M串左边与失配T[i]字符的下一位对齐,转移到步骤2。
Horspool算法
正确性:失配发生时,M串要向右移动,T串的失配字符T[i]可能是正确结果中的一个元素也可能不是。
如果不是,那么可以将M串的首位与T串中的[i+1] 位对齐,继续进行比较;
如果是,那么,自M串失配位置[ j ] 开始向左的任意一位与M[i] 相等的字符c确定的比较位置都可能是完全匹配的,其产生的位移依次为k1,k2,……(ki为 j – location(c))。
综合这两种情况,选择位移最小值k1,这样就能保证不会错过正确匹配的情况。
优点:这个算法是字符串匹配算法中从右向左匹配的创始者,且其失配情况下不是+1位移,平均时间复杂度为O(len(T))。
缺点:只是用了当前匹配位的特征,没有使用之前比较的历史数据,使得失配后M串位移没有最大化。

最近更新

家乡的春节作文400字集合(5篇模版) 3页

家乡文化调查报告(精选多篇) 3页

引黄灌区水体硝酸盐分布及其来源辨析——以潘.. 2页

异质水分环境下美丽箬竹生理整合特性研究的开.. 2页

2024年事业单位招聘考试青海省海东地区职业能.. 21页

2024年事业单位招聘考试河南省开封市职业能力.. 23页

2024年事业单位招聘考试黑龙江省大兴安岭地区.. 21页

2024年事业单位招聘考试河南省新乡市职业能力.. 23页

2024年事业单位招聘考试山西省临汾市职业能力.. 23页

2024年事业单位招聘考试上海市职业能力倾向测.. 22页

2024年事业单位招聘考试湖南省湘西土家族苗族.. 22页

2024年事业单位招聘考试内蒙古锡林郭勒盟职业.. 23页

2024年围棋培训项目投资申请报告代可行性研究.. 66页

慢性阻塞性肺疾病中医肺康复指南 68页

0.4kV配网不停电作业用工器具技术条件V11 28页

2024年声学海流计项目资金需求报告代可行性研.. 63页

2024年扫瞄隧道显微镜项目资金申请报告代可行.. 56页

4.25抛物线基础训练题 6页

22种天然水晶能量功效及佩戴10注意 37页

3.3计量经济学实验报告 15页

英雄的议论文(6篇) 10页

教师在校庆时送给学校的金句 【精】 13页

幼儿园园长毕业典礼致辞发言稿 19页

亲人去世发朋友圈文案(39条) 17页

四川省成都外国语学校2024-2024学年高二下学期.. 14页

锂电池厂用蒸汽的作用 8页

2023年云南省社区(村)基层治理专干招考聘用50.. 197页

人教版二年级下册《轴对称图形》公开课公开课.. 33页

外研版八年级英语下册期中测试卷及答案 8页

浅谈马蜂窝的处置学习教案 23页