kmp优化

优化kmp算法主要是在求next【】数组那一块优化 算法

kmp算法的next【】数组代码 数组

void getnext(char *t,int *next)
{
int i=1;
int j=0;
next[1]=0;
while(i<t[0])
{
if(j==0||t[i]==t[j])
{
i++;
j++;
next[i]=j;
}
else
j=next[j];
}
return ;
}
优化

优化后kmp求next【】的代码 get

void getnext(char t[],int next[])
{
int i=1;
int j=0;
next[1]=0;
while(i<t[0])
{
if(j==0||t[i]==t[j])
{
i++;
j++;
if(t[i]!=t[j])
next[i]=j;
else
next[i]=next[j];
}
else
j=next[j];
}
}
不难理解,嘻嘻 next

相关文章
相关标签/搜索