写出模式acabbcacabd的KMP算法中next[j],用图表示

问题描述:

写出模式acabbcacabd的KMP算法中next[j],用图表示
1个回答 分类:综合 2014-10-24

问题解答:

我来补答
int *findNext(string P)
{
int i=0;
int k=-1;
int m=P.length();
if(m==0)
return NULL;
int *next=new int[m];
if(!next)
return NULL;
next[0]=-1;
while(i=0&&P[i]!=P[k])
k=next[k];
i++;
k++;
if(i==m) break;
if(P[i]==P[k])
next[i]=next[k];
else next[i]=k;
}
return next;
}
在main函数中让P=‘“acabbcacabd”,自己看结果
ps:这个next[j]是优化过的,即if(P[i]==P[k]) next[i]=next[k];
 
 
展开全文阅读
剩余:2000
上一页:高数一指数函数
下一页:必修五第四单元