我有一个大的文本文件(~10mb),它或多或少地使用特定语言的每个字典,并且每个单词都是新的行被删除。
我想快速查找以查看文件中是否存在单词 - 如果没有循环遍历每一行,最快的方法是什么?
它已经过排序,我可以完成我想要的所有预处理。
我考虑过进行某种二进制搜索,但我不知道如何做到这一点,因为我的所有行都不是固定数量的字节(因此我不知道将流跳转到哪里)。令人惊讶的是,我找不到一个工具来为我做固定宽度的事情。
有什么建议吗? 谢谢!
答案 0 :(得分:6)
我建议从字典中构建一个Trie。这样可以非常快速地查找单词是否在那里。
答案 1 :(得分:1)
如果您不介意使用更多存储空间,那么特里是一个不错的选择:http://en.wikipedia.org/wiki/Trie