【发布时间】:2018-12-31 06:37:45
【问题描述】:
最近,我在一次采访中被问到关于数据结构的使用。 问题是:在创建英语词典时,我打算使用什么数据结构。字典将包含每个字母表下的单词数,每个单词都有 1 个含义。另外,我将如何实现数据结构来更新、搜索和选择不同的单词?
你们有什么建议吗?您提出建议的原因是什么?
【问题讨论】:
-
我相信尝试将是显而易见的建议。 en.wikipedia.org/wiki/Trie#Dictionary_representation
-
如果您需要做的只是查找和更新单词,那么哈希映射将是您的最佳选择。如果您还需要“查找所有以 x 开头的单词”的功能,那么我建议您尝试一下
-
trie 的内存效率非常低。
-
@YvesDaoust 怎么会这样?对于像字典一样大的数据集,trie 在各个方面都是有效的。此外,在字典中,我们查找单词的方式是逐个字符的,这种类型的搜索使用 trie 非常有效。
-
@vish4071:我说内存效率低。
标签: algorithm dictionary data-structures hashmap mapping