KMP字符串模式匹配算法
当我们使用简单字符串模式匹配算法时,时间复杂度为O(n*m),这里n为目标串的长度,m为模式串的长度。在循环的过程中,有很多次匹配其实存在回溯,浪费了很多时间。可以根据模式串本身的性质来设计一个新的高效算法,即跳过肯定不匹配的循环,而直接从左边子串已经相同的位置开始比较,时间复杂度大大降低,该算法就是KMP字符串模式匹配算法。
#include <iostream>
#include <string>
using namespace std;
int KMPIndexHelp(const string &T,const string &P,int pos,int next[]){
int i=pos,j=0;
while(i<T.length() && j<P.length())
{