我需要检测到二进制图案$ p $长度$ m $是否发生在二进制文本$ t $ t length $ n $中,其中$ m <n $。

我想陈述一种在时间$ o(n)$中运行的算法,我们假设可以在$ o( log_2 n)$ bit上的算术操作可以在恒定时间内执行。每当$ p $是$ t $的子字符串时,算法应以$ 1 $的概率接受,并且拒绝至少$ 1- frac {1} {n} $否则。

我认为指纹可以在这里有所帮助。但是我无法理解。

有帮助吗?

解决方案

Knuth-Morris-Pratt算法 在线性时间内这样做而没有任何错误。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top