有数十亿字给你。你必须找到最常见的K个词。
对于上述问题,我有一些解决方案,但我认为肯定有更好的方法。首先请看看我的方法。
解决方案: -
方法1
- 制作上面的文件块。对于每个chunk,make pair,其中key = word,value = 1.
- 然后根据密钥对每个块中的对进行排序。
- 然后,为commmon键创建一个条目。现在价值成为关键的频率。
- 直到这一点,每个块都有他们频率的单词。
- 现在连接每个块的整个对。然后排序。然后更新频率。
- 抛出K个频率词。
醇>
方法2。(此方法尚未完成)
- 制作一个双重链接列表,其中前面主要是正在发生的单词,后面是最不发生的单词。
- 每当新词出现时,请更新双向链表。
醇>
但方法2不正确。
请建议您是否有比方法1更好的算法。请检查方法2,改进此。