从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn

从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn

ID:33817473

大小:4.60 MB

页数:24页

时间:2019-03-01

从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn_第1页
从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn_第2页
从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn_第3页
从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn_第4页
从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn_第5页
资源描述:

《从头到尾彻底理解kmp - 结构之法 算法之道 - 博客频道 - csdn》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2014年8月9日从头到尾彻底理解KMP(2014年8月9日版)-结构之法算法之道-博客频道-CSDN.NET结构之法算法之道Google或百度搜索:结构之法,进入本博客。目录视图摘要视图订阅管理博客写新文章个人资料有奖征资源人气博主的资源共享【独具慧眼推荐有礼】找出您心中的技术大牛《Hadoop高级编程》有奖试读关注社区微信得下载分[置顶]从头到尾彻底理解KMP(2014年8月9日版)分类:01.Algorithms(研究)02.Algorithms(后续)2011-12-0513:0585141人阅读评论(201)收藏

2、编辑取消置顶删除v_JULY_v算法functionstringdelete数据结构目录(?)[+]从头到尾彻底理解KMP访问:6868897次积分:31234分排名:第46名作者:July时间:最初写于2011年12月,2014年7月21日晚10点全部删除重写成此文,随后的半个多月不断反复改进。原创:145篇转载:0篇译文:5篇评论:12287条1.引言博客公告本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱,如此,留言也①.本blog开通于2010年10月11日,高级C++

3、/算法交流群:是“骂声”一片。所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟没有修改本165229498。②.Google或百度上搜索:“结构之法”,进入本博文。客;Github上搜:“程序员编程艺术”,进入我的github主页https://github.com/julycoding/The-然近期因在北京开了个算法班,专门讲解数据结构、面试、算法,才再次仔细回顾了这个KMP,在综合了一些网Art-Of-Programming-By-July。③.如有任何问题,欢迎通过微博友的理解、以及跟

4、我一起讲算法的两位讲师朋友曹博、邹博的理解之后,写了9张PPT,发在微博上。随后,一不做联系,即@研究者July:http://weibo.com/julyweibo,二不休,索性将PPT上的内容整理到了本文之中(后来文章越写越完整,所含内容早已不再是九张PPT那样简单了)。July,二零一三年八月七日。KMP本身不复杂,但网上绝大部分的文章(包括本文的2011年版本)把它讲混乱了。下面,咱们从暴力匹配算法我的微博讲起,随后阐述KMP的流程步骤、next数组的简单求解递推原理代码求解,接着基于next数组匹配,谈到有限状态

5、自动机,next数组的优化,KMP的时间复杂度分析,最后简要给出一个KMP的扩展算法。研究者July北京朝阳区全文力图给你一个最为完整最为清晰的KMP,希望更多的人不再被KMP折磨或纠缠,不再被一些混乱的文章所混我自己乱,有何疑问,欢迎随时留言评论,thanks。oh,yeah,差不多完整了,摆个2的手势[耶]。感谢原文下所有读者的评论,如2.暴力匹配算法果不是他们的持续发问,本KMP不可能写得如此细节假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢?、完整:http://

6、t.cn/SG8QvY,thanks。如果用暴力匹配的思路,并假设现在文本串S匹配到i位置,模式串P匹配到j位置,则有:如果当前字符匹配成功(即S[i]==P[j]),则i++,j++,继续匹配下一个字符;如果失配(即S[i]!=P[j]),令i=i-(j-1),j=0。相当于每次匹配失败时,i回溯,j被置为0。理清楚了暴力匹配算法的流程及内在的逻辑,咱们可以写出暴力匹配的代码,如下:intViolentMatch(char*s,char*p)文章分类{intsLen=strlen(s);intpLen=strlen(p)

7、;03.Algorithms(实现)(9)inti=0;01.Algorithms(研究)(27)http://blog.csdn.net/v_july_v/article/details/70418271/252014年8月9日从头到尾彻底理解KMP(2014年8月9日版)-结构之法算法之道-博客频道-CSDN.NET02.Algorithms(后续)(22)intj=0;while(i

8、){06.MS100'answers(13)//①如果当前字符匹配成功(即S[i]==P[j]),则i++,j++i++;07.MS100'classify(4)j++;}08.MS100'oneKeys(6)else09.MS100'follow-up(4){//②如果失配(即S[i]!=P[j]),

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。