我有一个包含大量单词(~50MB)的文本文件。要为此文件内容构建索引,哪种数据结构最适合?
或者使用什么数据结构,我可以在搜索时获得最佳效果?
提前致谢
Jijoy
答案 0 :(得分:4)
如果您的数据是单词词典,则Trie非常适合。
答案 1 :(得分:2)
您可以使用像[lucene] [1]
这样的库来切断使用数据结构和编写算法的开销[1]:http://lucene.apache.org/。我不太确定你的情况是否正确但是在java中必须为文件创建索引并且必须使用这些索引执行一些搜索操作时,lucene的使用被认为是公平的。
答案 2 :(得分:0)
如果你把它想象成一张桌子,那么B + Tree会非常有效率,但是如果它只是一个很大的单词列表,你可以试试Fibonacci树。
答案 3 :(得分:0)