算法导论之字符串匹配算法.pptxVIP

  • 3
  • 0
  • 约1.95千字
  • 约 31页
  • 2016-11-28 发布于重庆
  • 举报
算法导论之字符串匹配算法

字符串匹配算法中国矿业大学计算机学院 孟靖宇我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。由此,便产生了字符串的匹配问题。假设文本是一个长度为n的数组T[1...n],模式是一个长度为m=n的数组P[1....m]。简单字符串匹配目标是找出所有在文本T=abcabaabcaabac中的模式P=abaa所有出现。该模式仅在文本中出现了一次,在位移s=3处。位移s=3是有效位移。n = length(T)m = length(P)int flag=1;for(s = 0 ; s n-m ; s++){ flag=1; for(i = 0 ; i m ; i++) { if (P[i] != T[s+i]) {flag=0;break;} } if(flag) {cout s; break;}}?简单的字符串匹配算法用一个循环来找出所有有效位移,该循环对n-m+1个可能的每一个s值检查条件P[0....m-1]=T[s....s+m-1]简单字符串匹配算法,上图针对文本T=acaabc 和模式P=aab。n-m+1个可能的位移s中的每一个值,比较相应的字符的循环。所以,在最坏情况下,此简单模式匹配算法的运行时间为O((n-m+1)m)。对于目的字串T是banananobano,要匹配的字串P是nano的情况只要P字串第一个字符先和T字串的第一个

文档评论(0)

1亿VIP精品文档

相关文档