没有合适的资源?快使用搜索试试~ 我知道了~
AhoCorasickDoubleArrayTrie:基于Double Array Trie的Aho Corasick算法的极快...
共9个文件
txt:4个
java:3个
md:1个
需积分: 38 4 下载量 18 浏览量
2021-01-30
00:17:59
上传
评论
收藏 3.01MB ZIP 举报
温馨提示
AhoCorasickDoubleArrayTrie 基于Double Array Trie结构的Aho Corasick算法的极快实现。 它的速度是幼稚实现的5到9倍,也许是迄今为止最快的实现;-) 介绍 您可能听说过Aho-Corasick算法可以快速解析带有巨大词典的文本,例如: 在文本中寻找某些单词以链接或强调它们 向纯文本添加语义 检查字典以查看是否存在语法错误 但是大多数实现使用TreeMap<Character>存储goto结构,这花费O(lg(t))时间, t是单词的公共前缀中最大的数量。 最终复杂度为O(n * lg(t)) ,绝对t > 2 ,所以n * lg(t) > n 。 其他人使用HashMap ,这浪费了太多内存,但仍然保持缓慢。 我通过将XXXMap替换为Double Array Trie XXXMap进行了改进,该Trie的时间复杂度仅为O(1) ,因此我们得到的总复杂度为O(n) ,并在时间和内存之间取得了完美的平衡。 是的,它的速度与字典单词的长度或语言或通用前缀无关。 此实现已在我的软件包中广泛使用。 我希望它可以作为处理文
资源推荐
资源详情
资源评论
收起资源包目录
AhoCorasickDoubleArrayTrie-master.zip (9个子文件)
AhoCorasickDoubleArrayTrie-master
README.md 6KB
pom.xml 7KB
src
test
resources
cn
text.txt 2.35MB
dictionary.txt 1.29MB
en
text.txt 3.25MB
dictionary.txt 1.12MB
java
TestAhoCorasickDoubleArrayTrie.java 12KB
main
java
com
hankcs
algorithm
AhoCorasickDoubleArrayTrie.java 29KB
State.java 6KB
共 9 条
- 1
资源评论
步衫
- 粉丝: 29
- 资源: 4641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功