Data structures 如何有效地设计哈希表来存储大字序列?

Data structures 如何有效地设计哈希表来存储大字序列?,data-structures,Data Structures,我想从一个大的单词序列中找出前K个常用词。请帮助我为此设计一个有效的哈希表将字符串按空格或任何分隔符拆分为字符串数组,然后将其放入HashMultiset 然后你可以简单地得到每个单词的计数。我会在这里使用最小堆大小k,而不是哈希表。只需将单词以其各自的长度添加到堆中-一旦堆中有k+1项,删除最小项并重新调整。总的工作量将是O(n*log(k)),您将需要O(k)额外的空间(以维护堆)

我想从一个大的单词序列中找出前K个常用词。请帮助我为此设计一个有效的哈希表

将字符串按空格或任何分隔符拆分为字符串数组,然后将其放入HashMultiset


然后你可以简单地得到每个单词的计数。

我会在这里使用最小堆大小
k
,而不是哈希表。只需将单词以其各自的长度添加到堆中-一旦堆中有k+1项,删除最小项并重新调整。总的工作量将是O(n*log(k)),您将需要O(k)额外的空间(以维护堆)