在一个大文件中有100亿个32位整数,乱序排列,要求找出中位数;内存限制为512M;请写出算法设计思路;
思路分析
中位数的意思就是,如果是个数是奇数,则取中间的那个数字,如果是偶数,则取中间的两位数的平均值
512M,只能存储大概1亿数据,一个int占4个字节
512M=512*1024*1024(byte)/4(byte)=134217728(1亿)
所以常规的排序肯定不能满足常规排序,因此我们需要分成100组,每一组1亿个数
基本思路
本文分享自 洁癖是一只狗 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!