- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
void get_next (SString T, int next[ ] ) { //next函数值存入数组next i=1; next[1]=0; j=0; while(iT[0] ) { if ( j= = 0||T[i]= = T[j] ) { ++i; ++j; next[i]=j; } else j=next[j]; } // while }// get_next i 1 2 3 4 5 6 7 8 模式 a b a a b c a c j=Next[i] 0 1 1 2 2 3 1 2 求解next[j] 算法的流程图: i=1; j=0 next[1]=0 iT[0] j==0 || T[i]==T[j] ++i; ++j; next[i]=j; j=next[j]; END Y Y N N 附:求解next[j] 算法流程图: 模式: a a a a b j:1 2 3 4 5 next[j]: 0 1 2 3 4 S: a a a b a a a a b T: a a a a b i: 1 2 3 4 5 6 7 8 9 a a a a b a a a a b a a a a b a a a a b ② next [ j ]是否完美无缺? 答:未必,例如当 S=‘a b a a a a b’,T=‘a a a a b’时 ,仍有 多余动作(参见P84改进算法,称为nextval [ j ] ) 当Pj==Pnext[j]时,则 如果Si != Pj,==》 Si != Pnext[j] 因此,Si 没有必要继续与 Pnext[j]进行比较, 而应该直接和Pnext[j]的下一个字符Pnext[next[j]] 进行比较。 因此,在计算next函数时, 如果出现Pj=Pnext[j] = Pk 则next[j]=next[k]=next[next[j]] 修改算法见教材P84 算法4.8 此时效率不高的原因为: 模式串 P= ‘ abaabcac ’的 next 函数值序列为 ________ 。练习: 补充:C语言中常用的串运算 串比较,int strcmp(chars1,char s2); // StrCompare(S,T) 求串长, int strlen(char s); // StrLength(S) 串连接,char strcat(char to,char from) // Concat(T, S1, S2) 子串T定位,char strchr(char s,char c); // Index(S, T, pos) …… Concat =concatenation,在字符串处理中,把多个短字符串合成为长字符串的操作。 注:用C处理字符串时,要调用标准库函数 #includestring.h 数据结构课程的内容 第4章 串(String) 4.2 串的表示和实现 4.3 串的模式匹配算法 1. 定义 2. 逻辑结构 3. 存储结构 4. 运算规则 5. 实现方式 4.1 串类型的定义 记为: s =‘ a1 , a2 , …….. , an’ (n≥0 ) 串名 串值(用‘ ’ 括起来) 串中字符个数(n≥0). n=0 时称为空串 ? 。 由一个或多个空格符组成的串。 串s中任意个连续的字符序列叫s的子串; S叫主串。 子串的第一个字符的序号。 字符在串中的序号。 串长度相等,且对应位置上字符相等。 串即字符串,是由零个或多个字符组成的有限序列,是数据元素为单个字符的特殊线性表。 4.1 串类型的定义 若干术语: 串长: 空白串: 子串: 子串位置: 字符位置: 串相等: 隐含结束符‘/0’ ,即ASCII码NULL 练1:串是由 字符组成的序列,一般记为 。 练2:现有以下4个字符串: a =‘BEI’ b =‘JING’ c = ‘BEIJING’ d = ‘BEI JING’ 问:① 他们各自的长度? ② a是哪个串的子串?在主串中的位置是多少? a =3,b =4,c
您可能关注的文档
- 超声波流量计的工作原理.ppt
- 高级英语第六版unit-7-beauty.ppt
- 高一四班期中考试家长会班主任发言稿.doc
- 一次函数的图像和性质说课稿.docx
- 中国青年是否还需要鲁迅.docx
- 人教版六年级下册期中测试卷及答案.docx
- 高考数学复习-函数f(x)=Asin(ωx+φ)的图像.docx
- 五年级期中考试家长会教师发言稿.docx
- 青春期演讲稿.doc
- 三年级家长会语文老师发言稿.docx
- 人教版七年级历史与社会上册说课稿:3.1.1 稻作文化的印记.docx
- 2 金木水火土 第二课时.pptx
- 5.3 实际问题与一元一次方程(第2课时 销售中的盈亏问题)(说课稿)七年级数学上册同步高效课堂(人教版2024).docx
- 组织行为学原理与实务激励理论及应用.docx
- 5.1.5 两栖动物和爬行动物(课时2)-说课稿2023--2024学年人教版生物八年级上册.docx
- 维特根斯坦与海德格尔语言哲学思想比较探究.docx
- 28.1.4 锐角三角函数(第四课时)说课稿2024-2025学年人教版数学九年级下册.docx
- 6.1《老子》四章 说课稿 2024-2025学年统编版高中语文选择性必修上册.docx
- 1.2.3数据编码及压缩 说课稿-2023-2024学年人教中图版(2019) 高中信息技术必修1[001].docx
- 第6课 全球航路的开辟 说课稿--2023-2024学年高一统编版2019必修中外历史纲要下册.docx
文档评论(0)