数据结构——用C语言描述(第二版)教学课件宁正元第4章串.pptVIP

  • 3
  • 0
  • 约1.52万字
  • 约 49页
  • 2019-10-08 发布于广东
  • 举报

数据结构——用C语言描述(第二版)教学课件宁正元第4章串.ppt

第4章 串 4.1 串的基本概念 4.2 串的存储实现 4.3 串的模式匹配算法 4.4 汉字串 一般的情况讨论如下: 假设主串s为“s1s2…sn”,模式串t为“t1t2...tm”,要设计一个无回溯的匹配算法,关键在于确定在匹配过程中,当主串中si与tj比较不等(即“失配”)时,模式串t中的哪一个字符应与si继续进行比较? 假设将这个字符记做tk,显然,有kj成立且对于不同的j值,k值也不相同,而且这个k值与主串s无关,而只依赖于模式串t本身的前j个字符。 若令next[j]=k,则当next[j]0时,表示一旦匹配过程中出现si与tj不相等时,可用t中的next[j]位置的字符继续与si比较;若next[j]=0,则表示t中任何字符都不与si比较,需重新比较t1与s i+1。 可见,对于任何的模式串t而言,只要能确定next[j](j=1,2,…,m)的值,就可以用来加速匹配过程。模式串的next函数的定义为: next函数的意义是:若模式串t中存在满足等式“t1t2…t k-1”=“t j-k+1 t j-k+2…t j-1”的两个子串,则当匹配过程中主串中第i个字符与模式中第j个字符比较不等时,仅需将模式向右移动至模式中的第k个字符和主串中的第i个字符对齐,匹配仅需从模

文档评论(0)

1亿VIP精品文档

相关文档