回 帖 发 新 帖 刷新版面

主题:发现一个讲解KMP和BM算法的好地方

这两天在看字符串匹配的BM算法

google了一下“Boyer Moore”,找到一个有趣的讲解KMP和BM算法原理的网页,虽然是英文,但是讲解很简单,大家应该能看懂。

http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html

点开算法说明网页之后可以点击有下划线的字母逐个步骤的讲解

分享一下,希望能给像我一样刚接触算法的初学者一些帮助

刚才仔细一看,发现居然是Moore的个人网站.......

回复列表 (共3个回复)

沙发

好地方~
BM算法更接近人类一些...

我觉得这一步会比较耗时:
http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/fstrpos-example.html#step6

这一步就是,如何找自身后缀和前缀的匹配呢?如果不用普通的O(N2)的方法,应该再专门弄个和next()类似的东西吧.

板凳

[quote]好地方~
BM算法更接近人类一些...

我觉得这一步会比较耗时:
http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/fstrpos-example.html#step6

这一步就是,如何找自身后缀和前缀的匹配呢?如果不用普通的O(N2)的方法,应该再专门弄个和next()类似的东西吧.[/quote]

今天搜索的时候好像看到过有个地方提了一下将BM和KMP结合起来的算法。
或是用效率更高的Sunday算法(暂时我还没研究透 - -郁闷)

3 楼

果然是天外有天O_o 越简单的越有效...

我来回复

您尚未登录,请登录后再回复。点此登录或注册