AhoCorasickDoubleArrayTrie:基于Double Array Trie的Aho Corasick算法的极快实现 源码
AhoCorasickDoubleArrayTrie 基于Double Array Trie结构的Aho Corasick算法的极快实现。 它的速度是幼稚实现的5到9倍,也许是迄今为止最快的实现;-) 介绍 您可能听说过Aho-Corasick算法可以快速解析带有巨大词典的文本,例如: 在文本中寻找某些单词以链接或强调它们 向纯文本添加语义 检查字典以查看是否存在语法错误 但是大多数实现使用TreeMap存储goto结构,这花费O(lg(t))时间, t是单词的公共前缀中最大的数量。 最终复杂度为O(n * lg(t)) ,绝对t > 2 ,所以n * lg(t) >
用户评论