《数据结构与算法》第四章串String.ppt

《数据结构与算法》第四章串String

T j next[j]=k k-1 T j 若pk≠pj,设next[k]=h k-1 next[j+1]=h+1=next[k]+1 T j 若pnext[k] =pj k-1 h-1 j next 1 0 2 1 3 1 4 1 5 1 6 2 7 2 8 3 9 4 10 2 例:T=‘abcdaabcab’ void get_next(SString T,int next[]) { //求模式串T的next函数值并存如数组next j=1; next[j]=0; k=0; while(jT[0]) if(k==0||T[j]==T[k]) {++j; ++k; next[j]=k;} else k=next[k]; }//get_next int Index_KMP(SString S,SString T,int pos) { //利用模式T的 next函数求T在主串S中第pos个字符后的位置 //的 KMP算法,其中T非空, 1≤pos≤StrLength(S) i=pos; j=1; while(i=S[0

文档评论(0)

1亿VIP精品文档

相关文档