佚名通过本文主要向大家介绍了ac自动机算法,ac算法,ac bm算法,ac多模匹配算法,ac值算法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:类似 AC 自动机这样让人惊喜的算法还有哪些?
描述:
解决方案1:
描述:
AC 自动机简单来说就是:
- 构建 Trie 树
- 在 Trie 树上构建失配指针,成为 AC 自动机
- 自动机上匹配字符串
学过了一年多从来不觉得有什么特别之处,直到今天才发现其简单直观的匹配方式和效率是有多赞!
所以想问一下大家还有其他类似让人惊叹不已的算法么?可以分享一下,互相学习。
解决方案1:
基于DFA的多正则引擎:
- AC 自动机解决了匹配多个精确 term 的问题;多正则引擎解决的是匹配多个正则表达式的问题。
- 理想情况下 AC 自动机匹配过程中碰到 term 的结尾时触发动作:告诉调用者,在这里发现了完整匹配,能匹配的 term id 是 {id1,id2...} 。多正则引擎对正则表达式做同样的事情。
后缀数组
,后缀树
,KMP
AC自动机
实际上是KMP
的升级版, 构建fail
指针- 经典的算法都是很巧妙的, 看看
算法导论
是个不错的选择. >.<
AC自动机
结合字符串搜索算法BM
=> ACBM算法
看了BM
和KMP
算法的代码, 简直太帅了!
广告: 字符串搜索算法BM
和KMP
和SUNDAY
C实现
注: 算法的代码肯定不是我原创, 说实话, 看懂那段代码也是挺累的...