- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例题 1.下面关于串的的叙述中,哪一个是不正确的?( ) A.串是字符的有限序列 B.空串是由空格构成的串 C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 例题 1、若串S=‘abcde’,其子串的数目是( ) 2.若串S=‘bioinformatics’,其子串的数目是( ) 空串是任意串的子串; 任意串是其自身的子串。 4.1串类型的定义 (9)strlen size_t strlen(const char *str); 返回字符串str的长度,‘\0’不算在内。 (10)memcpy void *memcpy(void *to, const void *from, size_t count); 把from中的count个字符拷贝到to中。并返回to。 4.1串类型的定义 (11)memcmp int memcmp(const void *buf1, const void *buf2, size_t count); 比较buf1和buf2的前count个字符,返回值与strcmp的返回值相同。 (12)memset void *memset(void *buf, int ch, size_t count); 把buf中的前count个字符替换为ch,并返回buf。 哪个是今天要讨论的模式匹配 the The quick brown fox jumps over the lazy dog jay The quick brown fox jumps over the lazy dog 复习一下穷举的模式匹配算法 ababcabcacbab 主串 abcac 模式串 1.穷举模式匹配算法复杂度 目标串:00000000000000000000000001(25个0) 模式串:0001 (3个0) The naive string-matching algorithm ababcabcacbab 主串 abcac 模式串 再次复习一下穷举的模式匹配算法 KMP算法的基本思想(一) 我们要解决的问题是:当“失配”(si?pj)时,模式串P“向右滑动”的可行距离有多远;或者说,下一步si应该与模式串中的哪个字符比较? 可以推断:答案将完全取决于模式串,而与主串无关 KMP算法的基本思想(一) 因此,可以预先为模式串设定一个数组next[j],当“失配”(si?pj)时,i不变,j改为next[j] 2.KMP快速模式匹配 主串:‘s1,s2……sn’ 模式串:‘p1,p2……pm’ 若si?pj,假设下一步主串中第i个字符应与模式中第k(kj)个字符继续比较,则模式中前k-1个字符的子串必须满足下列关系式,且不存在k’k满足下列关系式。 ‘p1,p2……pk-1’= ‘si-k+1,si-k+2……si-1’ 而已经得到的“部分匹配”(即上一趟的比较)为: ‘pj-k+1,pj-k+2……pj-1’= ‘si-k+1,si-k+2……si-1’ 2.KMP快速模式匹配 下一步si应该与模式串中的哪个字符比较? 答案将完全取决于模式串,而与主串无关 在匹配过程中, 当si?pj时,若模式串中存在满足以上式子的两个字串,仅需将模式向右滑动至模式中第k个字符和主串中第i个字符对齐。 令next[j]=k KMP算法的基本思想(二) 一般情况下, 模式串的next函数的定义如下: 0 当j=1时 next[j]= max{k|1kj且“p1...pk-1”=“pj-k+1...pj-1”} 1 其他情况 如: 现有模式串abcac,求其next值 现有模式串abaabcac,求其next值 现有模式串abaabacaca,求其next值 求next数组 如何求得next[j]的值? P82-83 此函数值仅取决于模式串本身而和相匹配的主串无关。 next[1]=0 设 next[j]=k,这表明在模式串中存在下列关系: 求next数组 此时next[j+1]=? 有两种情况: 1、pk=pj,则 求next数组 ‘p1,p2…pk-1,pk…pj-k+1,pj-k+2…pj-1pj…… pm’ 现有模式串abaabacaca,求其next值 更多模式匹配算法 Boyer-Moore算法 这个算法KMP算法的不同点是在作s[k+1..k+m]与t[1..m]的匹配测试时是
您可能关注的文档
- 教材考点梳理(下)3.ppt
- 教师必备的几种技能.ppt
- 教案(单质与其化合物的转化).ppt
- 教研员听出课长江课件湘教版3.ppt
- 教科版五年级上册《鸽血染红的求救信》PPT.ppt
- 教育中学生的理想.ppt
- 教科版四年级语文七律长征课件[1].ppt
- 教育心理学第一讲.ppt
- 教育部参赛观潮董晓芹.ppt
- 教育部智慧生活整合性人才培育.ppt
- 2025版高中历史专题一古代中国的政治制度专题提升课学案人民版必修1.doc
- 2024年高中政治复习1第八课财政与税收学案.docx
- 2024_2025版新教材高中生物第三章细胞中能量的转换和利用第二节第1课时解开光合作用之谜叶绿体与光能的捕获学案苏教版必修1.doc
- 2024_2025学年新教材高中地理第二章地表形态的塑造第三节河流地貌的发育课时评价含解析新人教版选择性必修1.doc
- 2025版高中历史第五单元近代中国的思想解放潮流第15课三民主义的形成和发展练习含解析新人教版必修3.docx
- 2024_2025学年新教材高中数学第六章统计学初步4.1用样本估计总体的集中趋势学案湘教版必修第一册.doc
- 2025版高中政治第四单元发展中国特色社会主义文化第十课培养担当民族复兴大任的时代新人第二框加强思想.docx
- 2025版高中语文第一单元第2课墙上的斑点学案新人教版外国小说欣赏.doc
- 2025版新教材高考语文一轮复习第6部分写作专题3第1讲经天纬地事神功三板斧__议论文章法学案新人教.doc
- 2024年新教材高中历史复习第25讲亚非拉民族民主运动和第二次世界大战与战后国际秩序的形成学案.docx
文档评论(0)