<分区>
Possible Duplicate:
The Most Efficient Way To Find Top K Frequent Words In A Big Word Sequence
查找 1000 页书中出现次数最多的 3 个单词的算法。有没有比使用哈希表更好的解决方案?
标签 algorithm
<分区>
Possible Duplicate:
The Most Efficient Way To Find Top K Frequent Words In A Big Word Sequence
查找 1000 页书中出现次数最多的 3 个单词的算法。有没有比使用哈希表更好的解决方案?
最佳答案
一个可能更好的解决方案是使用基于 trie 的字典。使用 trie,您可以在最坏情况下执行任务 O(n × N),其中 N 是单词数,< em>n 是它们的平均长度。与哈希表的区别在于 trie 的复杂性独立于任何哈希函数或书中的词汇。
对于任意输入,没有比 O(n × N) 更好的方法了,因为您必须扫描所有单词。
关于在 1000 页的书中查找前 3 个出现的单词的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200488/