标签: string algorithm search pattern-matching
是否仍然可以执行O(n)时间复杂度来搜索多次出现的Knuth-Morris-Pratt算法?
答案 0 :(得分:2)
假设我们有一个字符串S [0,...,N]。回想一下,前缀数组中的第i个条目存储与后缀匹配的S [0,...,i]的最大前缀的长度。 我们可以为模式$ subject计算前缀数组P(假设$ doesn不在主题中出现)。仍然需要找到P [i] == length(pattern)的指数,这可以在线性时间内完成。