KMP算法,输三组主串S和模式串P,输出模式串的Next(j)函数值,及该P在S中的位置的定试编写一程序,实现KMP算法,输入三组主串S和模式串P,输出模式串的Next(j)函数值,以及该P在S中的位置的定位函数
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 13:01:06
KMP算法,输三组主串S和模式串P,输出模式串的Next(j)函数值,及该P在S中的位置的定试编写一程序,实现KMP算法,输入三组主串S和模式串P,输出模式串的Next(j)函数值,以及该P在S中的位置的定位函数
KMP算法,输三组主串S和模式串P,输出模式串的Next(j)函数值,及该P在S中的位置的定
试编写一程序,实现KMP算法,输入三组主串S和模式串P,输出模式串的Next(j)函数值,以及该P在S中的位置的定位函数值,即序号值.其中S的长度为15~25,P的长度为5~8.
KMP算法,输三组主串S和模式串P,输出模式串的Next(j)函数值,及该P在S中的位置的定试编写一程序,实现KMP算法,输入三组主串S和模式串P,输出模式串的Next(j)函数值,以及该P在S中的位置的定位函数
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[i]==T[j+1])next[i]=j+1;
else next[i]=0; //
}
}
inline string::size_typeCOUNT_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