- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章串分析
* int Index_FL(String S, String T, int pos) { slength = S[0]; tlength = T[0]; i = pos; patStartChar = T[1]; patEndChar = T[tlength]; while (i = slength – tlength + 1) { if (S[i] != patStartChar) ++i;//重新查找匹配起始点 else if (S[i+tlength-1] != patEndChar) ++i; // 模式串的“尾字符”不匹配 else { } } return 0; } // 检查中间字符的匹配情况 * k = 1; j = 2; while( j tLength S[i+k]==T[j]) { ++k; ++j; } if ( j == tLength ) return i; else ++i; // 重新开始下一次的匹配检测 * 1. 熟悉串的七种基本操作的定义, 并能利用这些基本操作来实现串的其它 各种操作的方法。 2. 熟练掌握在串的定长顺序存储结 构上实现串的各种操作的方法。 3. 了解串的堆存储结构以及在其上 实现串操作的基本方法。 本章小节 * 4. 理解串匹配的KMP算法,熟悉NEXT 函数的定义,学会手工计算给定模式串 的NEXT函数值和改进的NEXT函数值。 5. 了解串操作的应用方法和特点。 * 课后作业及习题 4.1设 s=‘I AM A STUDENT ’,t=‘GOOD’, q=‘WORKER’. 求:StrLength(s),StrLength(t), SubString(s,8,7),SubSting(t,2,1) ,Index(s,’A’),index(s,t), Replace(s,’STUDENT’,q), Concat(SubString(s,6,2), Concat(t,SubString(s,7,8))) * 4.2令s=‘aaab’,t=‘abcabaa’, u=‘abcaabbabcabaacbacba’。 试分别求出它们的next函数值和nextval函数值 4.3已知主串 s=‘ADBADABBAABADABBADADA’, 模式串 pat=‘ADABBADADA’ 写出模式串的nextval 函数值,并由此画出KMP 算法匹配的全过程。 4.4试写一算法,实现堆存储结构的串的置换操作 Replace(&S,T,V) * * 在上述抽象数据类型定义的13种操作中, 串赋值StrAssign、串复制Strcopy、 串比较StrCompare、求串长StrLength、 串联接Concat以及求子串SubString 等六种操作构成串类型的最小操作子集。 即:这些操作不可能利用其他串操作来 实现, 反之,其他串操作(除串清除 ClearString和串 销毁DestroyString外)可 在这个最小操作子集上实现。 * 例如,可利用串比较、求串长和求子串 等操作实现定位函数Index(S,T,pos)。 算法的基本思想为: StrCompare(SubString(S, i, StrLength(T)),T ) ? 0 S 串 T 串 T 串 i pos n-m+1 * int Index (String S, String T, int pos) { // T为非空串。若主串S中第pos个字符之后存在与 T相等的子串 ,则返回第一个 这样的子串在S中的位置,否则返回0 if (pos 0) { n = StrLength(S); m = StrLength(T); i = pos; while ( i = n-m+1) { SubString (sub, S, i, m); if (StrCompare(sub,T) != 0) ++i ; else return i
您可能关注的文档
- 第四章_死锁-1分析.ppt
- 第四章_特种设备安全技术分析.ppt
- 第四章_CC2530基础开发分析.ppt
- 第四章_木结构的连接分析.ppt
- 城市设计的基础理论1分析.ppt
- 第06讲企业生产物流基本原理解析.ppt
- 城市设计概论作业分析.doc
- 城市设计-2分析.ppt
- 城市认知实习、城市规划调查讲解分析.ppt
- 第四章_身份认证分析.ppt
- 2024年丰都县公务员考试行测真题完整答案详解.docx
- 2024年哈尔滨市公务员考试行测试卷历年真题及答案详解1套.docx
- 2024年中卫市公务员考试行测试卷历年真题(含答案详解).docx
- 2024年吕梁市公务员考试行测试卷历年真题附答案详解(黄金题型).docx
- 2024年兰州市公务员考试行测真题及答案详解(新).docx
- 2024年中山市公务员考试行测真题完整参考答案详解.docx
- 2024年商洛市公务员考试行测试卷历年真题附答案详解.docx
- 2024年保山市公务员考试行测真题及一套答案详解.docx
- 2024年咸阳市公务员考试行测真题精编答案详解.docx
- 2024年晋中市公务员考试行测试卷历年真题及答案详解(易错题).docx
文档评论(0)