首页 > 代码库 > Aho-Corasick算法的Java实现与分析

Aho-Corasick算法的Java实现与分析

Aho-Corasick算法的Java实现与分析
简介Aho-Corasick算法简称AC算法,通过将模式串预处理为确定有限状态自动机,扫描文本一遍就能结束。其复杂度为O(n),即与模式串的数量和长度无关。思想自动机按照文本字符顺序,接受字符,并发生状态转移。这些状态缓存了“按照字符转移成功(但不是模式串的结尾)”、“按照字符转移成功(是模式串的结尾)”、“按照字符转移失败”三种情况下的跳转与输出情况,因而降低了复杂度。基本构造AC算法中有三个核心函数,分别是:success; 成功转移到另一个状态(也称goto表或success表)failure; 不可...

继续阅读:码农场 » Aho-Corasick算法的Java实现与分析

原文链接:http://www.hankcs.com/program/algorithm/implementation-and-analysis-of-aho-corasick-algorithm-in-java.html

Aho-Corasick算法的Java实现与分析