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

时间:2012-01-26 15:35:08

标签: data-structures

我想从大词序列中找到前K个常用词。请帮我为这个

设计一个有效的哈希表

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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