KMP算法是什么

KMP算法是什么

KmP算法查找串s中含串P的个数count

  #include   #include   #include   using namespace std;   inline void neXt(const string& t,vector& next)   {   //按模式串生成vector,next(t.size())   next[0]=-1;   for(int i=1;i=0 )   j=next[j] ; //递推计算   if(t==t[j+1])next=j+1;   else next=0; //   }   }   inline string::size_type count_KmP(const string& s,   const string& t)   {   //利用模式串t的next函数求t在主串s中的个数count的KmP算法   //其中t非空,   vector next(t.size());   neXt(t,next);   string::size_type index,count=0;   for(index=0;index

首页