KMP初探·总结
2018-02-23 19:04
183 查看
昨天自己乱搞了一天kmp之后终于弄懂了kmp 的基本原理。
早上看见了好多只讲原理和数学公式推导的博客,感觉很坑,无法理解。后来找到了一篇图文并茂的博客,感觉很快就理解了。
KMP的精髓在于next数组的含义和求法,主要思路就是根据pattern模式串的有用信息,推导出target目标串并不用回溯,而是改变模式串的指针的一种高效字符串匹配算法。
我自己感觉没有刚刚看到的那一篇博客写得好,所以直接转载过来,我再作补充。
去看大佬的博客
补充几点:
1、KMP算法是基于BF算法而进行优化的,BF算法是朴素的指针回溯版求字符串匹配的算法,时间复杂度O(m*n),而KMP时间为O(m+n)。注明m和n为两个串的长度。
2、KMP算法要好好理解需要多找例子,慢慢体会。
3、一般KMP算法考的难的话都是在next数组上做拓展,有时候还会和DP作配合。
4、……
嗯,就这样了。
相关文章推荐
- KMP总结 转载
- 一些扩展kmp的总结
- 【KMP】 学习与总结(转自matrix 67)
- [暂定]KMP总结
- KMP总结
- [caioj]KMP总结(?)
- 【kmp】算法总结
- KMP----总结
- KMP模板总结:
- 数据结构总结之KMP
- KMP的原理和代码实现(详细注释|参考多个博客总结|可作为模板)
- 字符串查找算法总结(暴力匹配、KMP 算法、Boyer-Moore 算法和 Sunday 算法)
- 【字符串】【KMP模板--最小循环节总结】
- 字符串总结(KMP)
- 【总结】字符串匹配: KMP 和 拓展KMP
- KMP 撸完总结
- 六之再续:KMP算法之总结篇(必懂KMP)
- KMP算法之总结篇
- HDU1358--KMP找周期(KMP基本题型到此总结完毕)
- KMP的原理和代码实现(详细注释|参考多个博客总结|可作为模板)