什么是KMP算法
KMP算法是其实就是一种字符串匹配算法(字符串中宣召匹配的子串),由D.E.Knuth、J.H.Morris和V.R.Pratt同时发现的。
KMP算法的思想
假设现在有字符串A.那么我们需要在A中找到是否包含字符串B,如果存在就返回起始位置。
A:ABCDABCABCDEABCEABDE
B:ABCDE
A串中出现了两次B串:
ABCDABCABCDEABCEABDE
传统方法是,从左到右一个字符一个字符的比较,当遇到不匹配的字符就回到上次开始匹配的下一位继续匹配。
下面给出一段暴力搜索的代码: