C++ 您将使用什么数据结构来实现字典?

C++ 您将使用什么数据结构来实现字典?,c++,dictionary,binary-tree,intellisense,C++,Dictionary,Binary Tree,Intellisense,所以我有一个采访问题,关于我将使用什么样的数据结构来实现一个字典。我说的是地图,因为你可以输入单词并得到定义作为回报 接下来的问题是,我将使用什么样的数据结构来实现一个系统,在这个系统中,用户只想查找一个单词的一定数量的起始字母(即前3个字母),这样用户就可以得到一个列表,例如,字典中以fic开头的所有单词 我说了一些关于二叉树的事情,但实际上我不知道;采访者说答案是提前输入的,有点像微软Visual Studio的intellisense。我不知道那是什么,我试着在谷歌上查找,但得到了一些奇怪

所以我有一个采访问题,关于我将使用什么样的数据结构来实现一个字典。我说的是地图,因为你可以输入单词并得到定义作为回报

接下来的问题是,我将使用什么样的数据结构来实现一个系统,在这个系统中,用户只想查找一个单词的一定数量的起始字母(即前3个字母),这样用户就可以得到一个列表,例如,字典中以
fic
开头的所有单词

我说了一些关于二叉树的事情,但实际上我不知道;采访者说答案是提前输入的,有点像微软Visual Studio的intellisense。我不知道那是什么,我试着在谷歌上查找,但得到了一些奇怪的搜索结果。尽管我不知道这是什么,也从未使用过它,但这绝对是一个有趣的问题

有人知道怎么做吗?什么样的数据结构和实现方法


编辑:我不明白为什么要关闭它。这不是一个编程问题吗?

使用Trie,一种树。遵循此链接可获得解决方案和更好的理解:

我认为它仍然是一个映射,您可以使用专门的排序和查找谓词来获取所需的键范围。我知道TYPEAHEAD不是标准数据结构的名称。面试官满腹经纶,除非问题是针对提供这种数据结构的技术堆栈的。不过,您应该寻找一种称为“trie”的基于树的数据结构。我猜intellisense实际上就是这样实现的。这不是一个只有链接的答案。回答这个问题是可以接受的,但在细节上却很少。更大的问题是整个问题过于宽泛和基于观点。