【发布时间】:2013-10-17 09:20:28
【问题描述】:
我最近研究了字符串匹配,并受到启发想到了一个类似的问题。令 p 为 m 个字符的字符串,t 为 n 个字符的文本。现在的问题是找出 p 是否出现在 t 中,方法如下:在 [0, 范围内存在一个 i >n-1] 这样:
p[ j ] = t [ i + j ] j = 0, 1, ... ,m - 1,
其中 i + j 以 n 为模计算。举个例子,在正常的字符串匹配中,CDEFAB中不会出现ABCD,但是你可以看到在上面定义的问题中,CDEFAB中会出现ABCD,在这种情况下i = 4。
是否有任何线性时间算法来确定模式 p 是否出现在 t 中?以前有没有处理过这个问题?
提前致谢
【问题讨论】: