问题描述
这是一个在 Glassdoor 上发布的面试问题。
考虑一个包含 1 万亿倍的文件。您如何找到中位数或近似中位数?您的计算机无法读取整个 1 万亿双。并行化算法是可以接受的。
最后一部分表明我可能可以使用中位数的中位数甚至一些并行快速排序。对于前者,只需将文件分配给一定数量的处理器,以便每个进程都可以将文件的一部分读入内存。
我也认为也可以使用@DJClayworth 在 Calculate the median of a billion numbers 中给出的方法。我认为这篇文章中的其他技术都不可行。
还有哪些其他方法可以用于此目的?我可能对随机算法感兴趣,这些算法可以找到具有适当概率的近似中位数。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)