内存足够
用快速排序的原理,随机确定一个数k
,把整个序列分为<k
和>k
的两部分,若k
的下标<mid
,则中位数在右边,否则在左边,循环直至k==mid
内存不够
将大量数据分组,看中位数落在哪个区间内,再对此区间进行分段,再次遍历所有数据找到中位数所在区间,区间端点即为中位数。
参考:
csdn-100亿个整数,内存足够,如何找到中位数?内存不足,如何找到中位数?
csdn-【原理思路】大数据中找中位数(腾讯面试题)
用快速排序的原理,随机确定一个数k
,把整个序列分为<k
和>k
的两部分,若k
的下标<mid
,则中位数在右边,否则在左边,循环直至k==mid
将大量数据分组,看中位数落在哪个区间内,再对此区间进行分段,再次遍历所有数据找到中位数所在区间,区间端点即为中位数。
参考:
csdn-100亿个整数,内存足够,如何找到中位数?内存不足,如何找到中位数?
csdn-【原理思路】大数据中找中位数(腾讯面试题)