KMP字符串匹配算法
2014-09-02 10:37
387 查看
KMP:比较过程中主串不回溯。复杂度O(m+n);
关键是:使用了在匹配过程中 已经 产生的信息。当模式字符和 主串失配时,(尽可能的-->确实就是)在模式中找到 下一个 需要和 主串中该位置字符 进行匹配的字符的位置。next[]函数的求法是关键。
改进算法-->模式中Pi位置的字符匹配主串 (Y) 失效了,那么模式中下一个匹配(Y)的 字符应该可能是Y(不是Pi)。即那么next[i]中的字符不是 Pi。
KMP的改进算法
高效的算法都是充分利用了已经获取的(潜在的,需要挖掘->或者需要记录,或者需要预先的处理)信息。类似的还有动态规划。
关键是:使用了在匹配过程中 已经 产生的信息。当模式字符和 主串失配时,(尽可能的-->确实就是)在模式中找到 下一个 需要和 主串中该位置字符 进行匹配的字符的位置。next[]函数的求法是关键。
改进算法-->模式中Pi位置的字符匹配主串 (Y) 失效了,那么模式中下一个匹配(Y)的 字符应该可能是Y(不是Pi)。即那么next[i]中的字符不是 Pi。
KMP的改进算法
高效的算法都是充分利用了已经获取的(潜在的,需要挖掘->或者需要记录,或者需要预先的处理)信息。类似的还有动态规划。
相关文章推荐
- KMP字符串匹配算法
- KMP字符串匹配算法
- [Erlang 学习笔记]Erlang 简单实现 KMP--字符串匹配算法
- KMP字符串匹配算法
- KMP字符串匹配算法
- KMP字符串匹配算法
- Algorithm - KMP 字符串匹配算法
- Python字符串匹配算法KMP实例
- kmp字符串匹配算法
- 使用C# 优化KMP字符串匹配算法
- C++版字符串匹配算法之传统匹配算法加KMP字符串匹配算法
- KMP字符串匹配算法(二)—KMP要点和证明
- 【字符串】KMP字符串匹配算法
- KMP(Knuth、Morris和Partt) 线性时间字符串匹配算法
- Java实现算法导论中KMP字符串匹配算法
- kmp字符串匹配算法
- KMP字符串匹配算法
- MySTL:KMP单模快速字符串匹配算法
- 使用C# 优化KMP字符串匹配算法
- 字符串匹配算法 之 KMP(Knuth-Morris-Pratt)