AC自动机
多模式串匹配算法
AC自动机适合大量文本中多模式串的精确匹配查找,可以到O(n)
AC自动机实际上就是在Trie树之上,加了类似KMP的next数组,只不过此处的next数组是构建在树上罢了。
1 | public class AcNode { |
AC自动机的构建,包含两个操作:
- 将多个模式串构建成Trie树;
- 在Trie树上构建失败指针(相当于KMP中的失效函数next数组)。
Java代码
1 | package com.ludepeng.datastruct.base.datastruct.charMath.ahoCorasick; |