Monthly Archives: 9月 2015

字符串匹配算法

前缀匹配 KMP算法 KMP算法与蛮力算法的不同之处在于蛮力算法模式串每次向前+1,而KMP每次向前+K。 jump K中的K可以通过预先计算模式串得出。jump[j]=k表示满足P[0,K] = P[J-K,J]的最大K值 那么kmp算法大致便是: int j=0; for (int i=0;i<n;i++){      while(j>0&&P[j+1]!=T[i]){           j = jump[j];      }      if(P[j+1]==T[i]) … Read More »