【正文】
p1 ≠p1p2,所以滿足條件的k不存在,即f(2)=1。當(dāng)j=4時(shí),k可能的取值為0,1,2,3。由于p0≠p5,p0p1= p4p5,p0p1p2≠p3 p4 p5,p0p1 p2 p3≠p2 p3 p4 p5且p0p1 p2 p3 p4≠p1p2 p3 p4 p5,所以f(5)=1。假設(shè)在進(jìn)行某一輪比較時(shí),失配的情況發(fā)生在模式p的第j位,那么如果j=0,則讓目標(biāo)的指針前進(jìn)一位,模式串的起始比較地址 回到P0處。第一次比較: T c t c a a t c a c a a t c a t P c a a t c a t第二輪比較: T c t c a a t c a c a a t c a t P c a a t c a t第三輪比較: T c t c a a t c a c a a t c a t P c a a t c a t第四輪比較: T c t c a a t c a c a a t c a t P c a a t c a t第一輪比較,模式串與目標(biāo)串在第二個(gè)字符處發(fā)生匹配 。接著進(jìn)行第三輪比較。接著進(jìn)行第四輪匹配,第四輪匹配成功。 next[0]=1。 if(st[j]!=st[k]) next[j]=k。jm。 getf()。amp。 } if(j=n) return (in)。 int k=KMP(