KMP算法next数组的求法
摘要:
按照递推的思想: 根据定义next[0]=-1,假设next[j]=k, 即P[0...k-1]==P[j-k,j-1] 1)若P[j]==P[k],则有P[0..k]==P[j-k+1,j],很显然,next[j+1]=next[j]+1=k+1; 2)若P[j]!=P[k],则可以把其看做模式匹配的问题,即匹配失败的时候,k值如何移动,显然k=next[k]。void getNext(char *p,int *next){ next[0]=-1; next[1]=0; for (int i=2;i<strlen(p);i++) { int j=i-1;... 阅读全文
posted @ 2012-08-26 21:40 为梦飞翔 阅读(1347) 评论(0) 推荐(0)
浙公网安备 33010602011771号