本文参考链接:https://blog.csdn.net/u013949069/article/details/78056102?utm_source=copy
- 问题1
一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。
之前在此文,海量数据处理面试题集锦与Bit-map详解中给出的参考答案:用Trie树统计每个词出现的次数,时间复杂度是O(nle)(le表示单词的平均长度),然后是找出出现最频繁的前10个词。也可以用堆来实现(具体的操作可参考第三章、寻找最小的k个数),时间复杂度是O(nlg10)。所以总的时间复杂度,是O(nle)与O(nlg10)中较大的哪一个。
2. 在链接 https://blog.csdn.net/v_july_v/article/details/6685962 中作者总结了各种解法,值得好好看看~~~
来源:CSDN
作者:Allenlzcoder
链接:https://blog.csdn.net/Allenlzcoder/article/details/82839416