资源描述:
《字符串匹配算法:穷举、KMP、BM.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七章字符串字符串(String)字符串是n(0)个字符的有限序列,记作S:“c0c1c2…cn-1”其中,S是串名字“c0c1c2…cn-1”是串值ci是串中字符n是串的长度。如:“WelcometoShanghai!!!”在计算机非数值计算应用中,经常遇到字符序列的处理。如,文字编辑、情报检索、自然语言翻译、事务处理、图象处理等应用中经常遇到的那样。在计算机中,一个字符集上的每个字符用定长的代码表示,所有可能的各种字符都可以对应一个确定的代码。一个特定的字符序列称为字符串,简称为串。有两种方法能比较方便地表示一个字符串。一是人为地约定一个特殊的
2、代码为字符序列的结束符,每个字符串最后都有这个结束符。二是,为每个字符序列另引入一个整数,让该整数指出该字符串的字符个数。本书采用第一种表示字符串的方法模式匹配是串的基本运算之一。有两个字符串T和S,字符串T称为正文,字符串S称为模式,要求找出模式S在正文T中的首次出现的位置。一旦模式S在正文T中找到,就说发生一次匹配。有些应用可能会要求找出所有的匹配位置。串的模式匹配定义在串中寻找子串(第一个字符)在串中的位置词汇在模式匹配中,子串称为模式,串称为目标。示例目标T:“Beijing”模式P:“jin”匹配结果=3记正文T的字符个数为n,令T=t0t
3、1t2…tn-1,记模式S的字符个数为m,令S=s0s1s2…sm-1。若正文中自位置k开始有一次匹配,则有sj=tk+j,0<=j4、符串p比较*/for(i=0;i