在 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/

相关文章:

java - 计算荣格图中的 SimRank?

algorithm - 马桶座算法

algorithm - 从包含 10 亿个整数的文件中显示前 100 个整数的最有效方法。内存最多可容纳 100 万个整数

php - 算法复杂度——双星是什么意思

algorithm - 如何检索堆栈中的前 5 项(更高性能)

algorithm - 在连续数字相差 +1/-1 的数组中搜索键

arrays - 查找两个多维数组之间的相似性(作为JSON文档)

快速找到远离牛群的动物的算法

algorithm - 如何在不阅读其全部内容的情况下跟踪压缩文件?

python - 有没有办法使用伪随机序列或哈希函数模拟队列的 python random.shuffle?