计算机算法实验报告BF和KMP.docVIP

  • 129
  • 0
  • 约3.35千字
  • 约 7页
  • 2018-01-08 发布于河南
  • 举报
计算机算法实验报告BF和KMP

天津市大学软件学院 实验报告 课程名称:串匹配算法实验 姓名: 陈小龙 学号:1150210403 班级: 业务1114 串匹配问题 一、实验题目: 给定一个主串,在该主串中查找并定位任意给定字符串。 二、实验目的: (1)深刻理解并掌握蛮力法的设计思想; (2)提高应用蛮力法设计算法的技能; (3)理解这样一个观点:用蛮力法设计的算法,一般来说,经过适度的努力后,都可以对算法的第一个版本进行一定程度的改良,改进其时间性能。 三、实验分析: 串匹配问题的BF算法 1 在串S中和串T中设比较的下标i=1和j=1; 2 循环直到S中所剩字符个数小于T的长度或T中所有字符均比较完 2.1 k=i 2.2 如果S[i]=T[j],则比较S和T的下一字符,否则 2.2 将i和j回溯(i=k+1; j=1) 3 如果T中所有字符均比较完,则匹配成功,返回k 否则匹配失败,返回0 时间复杂度:设匹配成功发生在si处,则在i-1趟不成功的匹配中比较了(i-1)m次,第i趟成功匹配共比较了m次,所以总共比较了im次,因此平均比较次数是: pi(im)=(im)= 一般情况下,mn,因此最坏情况下时间复杂度是Ο(nm)。 串匹配问题的KMP算法 实现过程:在串S和串T中高比较的起始下标i和j;循环直到S中所剩字符小于T的长度或T的所有字符均比较完(如果S[i]

文档评论(0)

1亿VIP精品文档

相关文档