如果word存在于字典文本文件中,请快速查找

时间:2011-02-09 00:26:05

标签: c# silverlight performance dictionary lookup

我有一个大的文本文件(~10mb),它或多或少地使用特定语言的每个字典,并且每个单词都是新的行被删除。

我想快速查找以查看文件中是否存在单词 - 如果没有循环遍历每一行,最快的方法是什么?

它已经过排序,我可以完成我想要的所有预处理。

我考虑过进行某种二进制搜索,但我不知道如何做到这一点,因为我的所有行都不是固定数量的字节(因此我不知道将流跳转到哪里)。令人惊讶的是,我找不到一个工具来为我做固定宽度的事情。

有什么建议吗? 谢谢!

2 个答案:

答案 0 :(得分:6)

我建议从字典中构建一个Trie。这样可以非常快速地查找单词是否在那里。

答案 1 :(得分:1)

如果您不介意使用更多存储空间,那么特里是一个不错的选择:http://en.wikipedia.org/wiki/Trie