2011-07-09 98 views
4

我正在读的理论&数据结构的问题(西摩Lipschuz)。这是什么模式匹配算法?

让我提供一个我正在阅读的部分的图像。 link of this book

本书的这一部分讲述了一种名为“第二模式匹配算法”的模式匹配算法。

这是什么算法?这是Boyer-Moore还是KMP或Horspool?还是什么?

或者,这是作者生产的任何新算法?

+3

我们应该如何在没有书的情况下回答这个问题? –

+1

没错,所以我们知道这本书的标题,但是如何帮助识别书中的算法呢?你认为所有程序员都拥有一份副本吗? –

+0

我点击了链接,它只是书的封面和链接购买它。 [这里是截图](http://i.imgur.com/hTlwC.png)。 –

回答

4

我相信这是KMP算法。 KMP构造了一个“失败表”,它本质上是一个自动机,说“如果你对特定字符不匹配,你还能匹配多少模式字符串?”它也对模式进行预处理,而不是匹配的字符串。此外,如果您看一下Aho-Corasick算法(这是KMP的泛化),则会构建此自动机的更通用版本,该版本可以一次处理多个模式。因此,我非常肯定你在看KMP。