文件名称:扩展KMP算法(Extend KMP)
文件大小:37KB
文件格式:PDF
更新时间:2024-01-21 06:55:59
kmp ten 扩展
扩展kmp既是求模式串和主串的每一个后缀的最长公共前缀 即令s[i]表示主串中以第i个位置为起始的后缀,则B[i]表示s[i]和模式串的最长公共前缀 显然KMP是求s[i]=模式串长度的情况,所以,扩展KMP是对KMP的拓展 像求KMP的next数组一样,我们先求A[i],表示模式串的后缀和模式串的最长公共前缀 然后再利用A[i]求出B[i] 说明一下A的求法,B同理 现在我们要求A[i],且A[1]—A[i-1]已经求出,设k,且1<=k<=i-1,并满足k+A[k]最大 所以T[k]–T[k+A[k]-1]=T[0]–T[A[k]-1],推出T[i]–T[k+A[k]-1]=T[i-k]–