我在一次采访中被问到这个问题。面试官告诉我假设存在一个函数 getNextWord() 来返回给定文档中的下一个单词。我的任务是设计一个数据结构来实现这个任务,并给出一个算法来构造一个包含所有单词及其频率的列表。
来自 C++ 背景,我的答案是创建一个multimap
ofstring
然后在其中插入所有单词,然后显示count
它。然而,后来有人告诉我,以更通用的方式执行此操作。泛指他不希望我使用库功能。另外我猜多图在内部实现为 2-3 树左右,因此为了使多图解决方案具有通用性,我还需要对 2-3 树进行编码。
尽管确实想到了尝试,但在面试中实施一个对我来说是不可能的。所以,我只是想知道是否有更好的方法来实现它?或者有没有办法使用尝试以平滑的方式实现它?