作业帮 > 综合 > 作业

帮忙算一个KPM算法的next数组值.

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/25 18:33:08
帮忙算一个KPM算法的next数组值.
a b a b a b b
-1 0 0 1 2 3 4
上面的是我算的.但是有本书上却是-1 0 0 1 2 1 2后面2位和我算的不一样,怎么回事哪个对?给出您的算法谢谢了.
next数组到底他娘的第一位是0还是-1啊.貌似2种都可以.那考试写那个啊.晕.我也觉得我写的对,但是那本书是软考书还是比较权威的么.无言.
帮忙算一个KPM算法的next数组值.
明显是书上错了,因为KMP算法的NEXT记录对应的一定是当前字符之前与他字符相同的字符的下标,而-1 0 0 1 2 1 2 这个1 2中的1,b对应的是a,肯定就不对了.楼主写的是未优化版得KMP算法,就是这个函数:
void get_next(int * next,char * t)//next数组和t字符串
{
int i=0,j=-1,len;
len=strlen(t);
next[0]=-1;
while (i