搜索双语词典的最快方法

时间:2014-03-02 16:01:36

标签: search dictionary tree binary-search-tree

哪种搜索词典最快?

在我看来,你应该知道的第一件事是 - 你应该使用什么样的结构(数组等)。 第二件事是哪种算法是用于该结构的最佳选择。

我的猜测是它会成为某种自平衡树。我认为树是一种结构,也是一种搜索算法。我对吗?你的意见?

谢谢!

编辑:这是一本双语词典。它掌握着数百万的记录。一台机器。

1 个答案:

答案 0 :(得分:1)

所以你的数据结构必须存储两对单词(用两种不同的语言),你会用一种语言的单词作为查找键吗?

您需要每秒执行超过一百万次查找吗?如果没有,不要担心什么结构最快。只需使用您所用语言的任何标准哈希表结构即可。

如果你不相信:我只是在Ruby中做了一个小实验,使用一个包含1,000,000个条目的哈希表。在我的电脑上,我可以在大约1毫秒内在该表中进行1000次查找。

如果您这样做每秒需要超过1,000,000次查询:尝试搜索trie。

请记住,由于您的结构是完全静态且不变的,因此该任务可以在多个CPU核心上100%并行化。