- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                第四章 串;开始学习本讲前要知道:;本章目录;知识点和难点重点;4.1  串的基本概念及其操作 ;4.1.1   串的基本概念 ;自测题   1;自测题   2;自测题   3;自测题   4;4.1.2  串的抽象数据类型 ;4.2  串的顺序存储结构  ;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;4.2.1 串的定长顺序存储表示;      写出一个递归算法来实现字符串逆序存储。
             【中科院研究生院2004四(7分)】
void InvertStore(char A[])
    //字符串逆序存储的递归算法。
   {char ch; 
    static int i = 0;
    scanf (%c,ch);
    if (ch != .)                      //.表示输入结束
	     {InvertStore(A);
	      A[i++] = ch;       //字符串逆序存储
	     }
    A[i] = \0;                       //字符串结尾标记
   }//结束算法;4.2.2 串的堆存储表示 ;4.2.2 串的堆存储表示 ;4.2.2 串的堆存储表示 ;4.2.2 串的堆存储表示 ;4.2.2 串的堆存储表示 ;4.2.2 串的堆存储表示 ;4.3  串的链式存储结构 ;4.3  串的链式存储结构 ;4.3  串的链式存储结构 ;4.3  串的链式存储结构 ;4.3  串的链式存储结构 ;4.4 串的模式匹配算法
模式匹配(Pattern Matching)又称为子串定位运算或串匹配(String Matching),此运算的应用在非常广泛。例如,在文本编辑程序中,我们经常要查找某一特定单词在文本中出现的位置。显然,解此问题的有效算法能极大地提高文本编辑程序的响应性能。
     在串匹配中,一般将主串称为目标串,子串称之为模式串。设S为目标串,T为模式串,且不妨设:
        S=“s0s1s2…sn-1”  T=“t0t1…tm-1” 
    串的匹配实际上是对于合法的位置0≦i≦n-m依次将目标串中的子串s[i..i+m-1]和模式串t[0..m-1]进行比较,若s[i..i+m-1]=t[0..m-1],;    则称从位置i开始的匹配成功,亦称模式t在目标s中出现;若s[i..i+m-1] ≠t[0..m-1],则称从位置i开始的匹配失败。
上述的位置i又称为位移,当s[i..i+m-1]=t[0..m-1]时,i称为有效位移;当s[i..i+m-1] ≠t[0..m-1]时,i称为无效位移。
这样,??匹配问题可简化为是找出某给定模式T在一给定目标T中首次出现的有效位移。串匹配的算法很多,这里我们只讨论一种最简单的称为朴素的串匹配算法。其基本思想是用一个循环来依次检查n-m+1个合法的位移i(0≦i≦n-m)是否为有效位移。;Brute-Force算法;朴素的模式匹配 ;Brute-Force算法关键部分:
        for(i=0;i=n-m;i++){
             if (S[i..i+m-1]=T[0..m-1]) return i;
int index(SqString s, SqString t)
       {     int i,j,k;
              int m=s.length;
              int n=t.length;
              for(i=0;i=n-m;i++)
              {  j=0;k=i;
                   while(jm  s.ch[k]==t.ch[j])
                          {  k++;j++; }
                   if (j = =m) return i;
                }
              return –1;
};Brute-Force算法 ; 链串上的模式匹配算法
用结点大小为1的单链表做串的存储结构时,实现朴素的匹配算法很简单。
只是现在的位移是结点地址而非整数,且单链表中没有存储长度信息。
若匹配成功,则返回有效位移所指的结点地址,否则返回空指针。
——具体算法请思考并写出自己的匹配算法
                您可能关注的文档
最近下载
- 大班社会《危险游戏我不玩》.pptx VIP
- 2025年山西运城事业单位考试笔试试题(含答案).pdf
- 城市轨道交通运营设备维修与更新技术规范第5部分:通信.pdf VIP
- 医院感染暴发事件应急处理.pptx VIP
- 《食品营养学》 课件 第四章 各类食物的营养特点.pdf
- 基于BIM的建设工程文件归档管理系统.pdf VIP
- 护理学(专升本)模考试题(含参考答案).docx VIP
- 员工离职申请表(模版)(标准版).doc VIP
- 实验五___DPS统计分析操作.pptx VIP
- 《Unit 3 Lesson 3 Letters all around》(说课稿)-2024-2025学年冀教版(三起)(2024)英语三年级上册.docx VIP
 原创力文档
原创力文档 
                        

文档评论(0)