KMP算法过程分析演示PPT(英文版).ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Next Table: (this example) How to build? Next = short string = 2+1 1+1 0+1 0+1 List each preceding subsequence. For each case, we try to find the longest subsequence from back to front, which is equal but not same to that we find from front to back . Then the length of the longest subsequence will generate the next index. Another example: Next = short string = 0+1 0+1 1+1 1+1 2+1 3+1 KMP Algorithm : In long string: KMP don’t need to reset the index in long str ,when an iteration ends. It can keep going and never go back. In short string: which index KMP will select depends on Next table, when an iteration ends. The time complexity is O(n+m) THANKS Let s begin my topic is about kmp algorithm。 * But what is kmp algorithm, we should …. * subsequence * We should compare each element in long str with that in short str one by one, until there is a pair of elements that are not equal. * * * We know that, the traditional method will be cost much time, because each subsequence should be checked, when the length of long str is very long ,the efficiency will be very poor * * Each of the preceding subsequences corresponds to a index. * Each of the preceding subsequences corresponds to a index. * * List each preceding subsquence. For each case, we try to find the longest subsquence from back to front, which is equal but not same to that we find from front to back . Then the length of the longest subsquence will generate the next idex. * * KMP Algorithm Name:康炳杰 SIDStrat with a string matching problem Input: a long string and a short string (sequence). Object: To see if the long string contains the short one. Output: if it does, return true and the position in the long string; otherwise, return false. For example : long str : short str : Return : True and 9 Other example : long str : short str : Return : False How to solve this problem in program? Here is a simple example to simulate the process long

文档评论(0)

蟹白饼 + 关注
实名认证
内容提供者

sweet

1亿VIP精品文档

相关文档