1 / 34
文档名称:

第七章符号串.ppt

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

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

分享

预览

第七章符号串.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第七章符号串.ppt

文档介绍

文档介绍:第七章 字符串
2017/11/10
1
计算机算法设计与分析
字符串的概念
字符串是由零个或多个字符组成的有限序列集合,通常我们把字符串简称为串。
在高级语言中一般都是用引号(“)或单引号(’)括起来,例如,串a1a2…an,,我们一般记为“a1a2…an,”或‘a1a2…an,’。
2017/11/10
2
计算机算法设计与分析
串的几个概念
1、长度:串s中字符的个数,记为length(s) 。长度为0的串称为空串。
2、子串:串中的连续字符序列。而包含子串的串称为主串。定义空串是任意串的子串。
3、位置:字符的位置是它在串中的序号;子串的位置是它的首字符的位置。
4、串相等:两个串相等当且仅当它们完全一致,即长度和对应位置上的字符都相同。
2017/11/10
3
计算机算法设计与分析
串的匹配
给定长度为n的串T = t1t2……tn (T称为正文),以及另一个串P = p1p2……pm (P称为模式),查找模式P在正文T中首次出现或所有出现的位置的过程称为模式匹配。
2017/11/10
4
计算机算法设计与分析
简单的串模式匹配算法
将模式P看成关键字,从正文T的第1个元素开始,
逐个与 T中的P[0]个元素比较;
如果这个长度为P[0]的子串与模式P相等,则匹配成功;否则,又从T的第2个元素开始进行同样的比较。
如此继续T[0] – P[0] + 1步。
2017/11/10
5
计算机算法设计与分析
简单的模式匹配算法
int StrMatch(SString S, SString P){
 i = 1; j = 1;
 while(i <= S[0] && j <= P[0]){
 if (S[i] == P[j]){i++; j++;}
 else {i = i – j + 2; j = 1}
}
 if(j > P[0]) return i – P[0];
 return 0;
}
2017/11/10
6
计算机算法设计与分析
简单的模式匹配算法的评估
在回朔深度不大的情况下,模式匹配算法的时间复杂度为O(m+n)
在最坏情况下的时间复杂度为O(n*m)。
2017/11/10
7
计算机算法设计与分析
KMP算法
KMP算法是D. Knuth与V. Pratt和J. Morris同时发现的,故称为Knuth_Morris_Pratt算法。
其思想是:每当匹配过程中出现字符不等时,不是简单地从正文的下一个字符(即i+1)开始重新比较,而是利用已经得到的“部分匹配”的结果将模式串向右“滑动”尽可能远的一段距离后,再进行比较。
KMP算法的时间复杂度为O(n+m)。
2017/11/10
8
计算机算法设计与分析
能向右滑动多远?
p1 … pk … pj … pm
s1 …… si …… sn
当si  pj,就将模式向右移动。假设pk和si相比较:
s1 …… si …… sn
p1 … pk … pj … pm
显然应有:si–k+1…si–1 = p1…pk–1。
s …
p1 …
而由前次的比较应有:si–k+1…si–1 = pj–k+1 …pj–1。
于是得到这样的结果:
p1…pk–1 = pj–k+1 …pj–1。
2017/11/10
9
计算机算法设计与分析
滑动的距离只取决于模式
模式滑动距离只取决于模式本身,与正文无关。
设函数next[j]为当模式中第j个字符与正文中相应字符“失配”时,在模式中需重新和正文中该字符进行比较的字符的位置。
0 当j=1时
next[j] = max {k |1<k<j且p1…pk–1= pj–k+1…pj–1}
1 当不存在相应的k时
2017/11/10
10
计算机算法设计与分析

最近更新

2024年无锡城市职业技术学院单招职业倾向性测.. 40页

2024年昆明工业职业技术学院单招职业倾向性测.. 40页

2024年景德镇艺术职业大学单招综合素质考试题.. 38页

2024年柳州铁道职业技术学院单招职业技能考试.. 40页

2024年武威职业学院单招职业倾向性考试题库必.. 40页

2024年毕节医学高等专科学校单招职业倾向性测.. 41页

2024年江苏信息职业技术学院单招职业技能考试.. 40页

2024年江苏城市职业学院单招职业技能考试题库.. 38页

2024年江苏省淮阴市单招职业适应性考试题库完.. 39页

2024年江苏财经职业技术学院单招职业技能测试.. 42页

2024年江西工商职业技术学院单招职业技能测试.. 41页

2024年江西旅游商贸职业学院单招职业倾向性考.. 40页

2024年江西现代职业技术学院单招职业倾向性测.. 40页

2024年江西省新余市单招职业适应性考试题库及.. 41页

2024年江西财经职业学院单招职业技能测试模拟.. 41页

2024年池州职业技术学院单招职业倾向性考试题.. 41页

2024年沧州航空职业学院单招职业倾向性考试题.. 38页

2024年河北女子职业技术学院单招综合素质考试.. 38页

2024年河北机电职业技术学院单招职业倾向性测.. 40页

2024年河北省衡水市单招职业适应性测试模拟测.. 40页

2024年河北艺术职业学院单招职业倾向性考试模.. 40页

2024年河南工业和信息化职业学院单招职业适应.. 41页

2024年河南林业职业学院单招职业倾向性测试模.. 40页

2024年河南省商丘市单招职业倾向性考试模拟测.. 40页

2024年泉州华光职业学院单招职业倾向性测试模.. 40页

2024年泸州职业技术学院单招职业适应性测试题.. 40页

ZR-003 建设单位法人授权书 1页

玩具购销合同通用6篇 10页

2023年四川省凉山州数学中考真题试卷【含答案.. 32页

卫生院医疗质量、医疗安全工作责任书 11页