在许多文件(分布在多台机器上)中找到最常用词的最有效算法是什么?
每台机器都可以给出其文件中存在的最频繁的词——或任何词的计数。
是否有算法或技术可以在不向每台机器询问所有单词的情况下找到确定性的答案?如果不是,那么用尽可能少的机器查询次数给出接近答案的最佳方法是什么。
最佳答案
假设您有 K 台机器。从每台机器请求最频繁的单词,将这 K 个单词发送到每台机器,并在所有机器上汇总它们的频率。设最常用词的频率为 N。
在下一步中,从每台机器请求列表中出现频率至少为 N/K 的所有单词。聚合这个列表并发送到每台机器。收集跨机器的频率,总结它们并找到总体上最常用的词。这个词保证是最常用的词。
关于algorithm - 许多文件中最常用的词是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20531420/