Aho-Corasick 多模式匹配算法
来源:互联网 发布:手机淘宝登录首页 编辑:程序博客网 时间:2024/05/23 01:18
核心思想简介
KMP算法一样, AC自动机在匹配时如果当前字符匹配失败,那么利用fail指针进行跳转。由此可知如果跳转,跳转到的串的前缀,必为跳转前的模式串的后缀。由此可知,跳转的新位置的深度一定小于跳之前的节点。所以我们可以利用 bfs在 Trie上面进行 fail指针的求解。设这个节点上的字母为x,沿着他父亲的失败指针走,直到走到一个节点,他的儿子中也有字母为x的节点。然后把当前节点的失败指针指向那个字符也为x的儿子。如果一直走到了root都没找到,那就把失败指针指向root。
给两个经典的图:
计算Trie的失败指针
参考博客:http://www.cnblogs.com/xudong-bupt/p/3433506.html
题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=16403
code:
0 0
- Aho-Corasick 多模式匹配算法
- Aho-Corasick 多模式匹配算法、AC自动机详解
- Aho-Corasick 多模式匹配算法、AC自动机详解
- 多模匹配算法之Aho-Corasick
- 多字符串匹配-aho-corasick算法
- 字符串匹配算法 之 Aho-Corasick
- 多模式串匹配之AC自动机算法(Aho-Corasick算法)简介与C语言程序实现源码参考
- 多模式串匹配之AC自动机算法(Aho-Corasick算法)简介与C语言程序实现源码参考
- Aho-Corasick算法学习
- Aho-Corasick算法学习
- Aho-Corasick算法学习
- Aho-Corasick算法
- Aho-Corasick算法学习
- Aho-Corasick算法学习
- Aho-Corasick算法学习
- Aho-Corasick算法
- Aho-Corasick算法
- Aho-Corasick算法
- javascript之setTimeout和setInterval
- C/C++头文件
- seleniumIDE command命令
- eclipse 集成 tsf plug-in
- OOZIE 任务管理常用SQL
- Aho-Corasick 多模式匹配算法
- ffmpeg 编译安装
- CRC16算法的Java实现
- Django-Model操作数据库(增删改查、连表结构)
- Java 数组 异常 exception 及其练习
- 远程控制通讯——基于树莓派 Python gpiozero 远程控制LED灯并返回控制结果
- POJ
- 拯救OIBH总部
- 接受电话面试时有哪些要注意的