摘要: 最近在一个项目中需要针对上百万条(大约在800W条)的字符串进行相关的处理。该字符串是以文本的形式存放在本地硬盘,并且更新频率为20分钟一次。具体需求:1、判断某一个字符串是否存在这800W条字符串中,时间要求在5ms以内2、根据字符串前缀,返回包含此前缀的10-100条字符串。时间要求在5ms以内3、占用内存要小本人接到此需求第一反应用List,或者二叉树啥的。结果效率慢得死,后经过大量资料查阅,发现采用DAWG(Directed Acyclic Word Graph)和Trie可以很快速的查找到相应的字符串。主要思路:将每个字符串的字符进行创建相应的Node,如果有相同的字符则放置在同一个 阅读全文