一个无符号数大小4B
100亿个数大小为4*10^10B,一个G差不多是10^9B,因此差不多需要40G的内存,肯定无法同时加载进内存进行排序
因此思路是将40G划分为的1000个文件,每个文件大小为40M,对每个文件内进行排序,之后建立一个全局的小根堆(维护capacity为1000)
之后每次取小根堆顶i,写入总的文件,并取i对应文件的下一个数加入小根堆,重复以上过程
一个无符号数大小4B
100亿个数大小为4*10^10B,一个G差不多是10^9B,因此差不多需要40G的内存,肯定无法同时加载进内存进行排序
因此思路是将40G划分为的1000个文件,每个文件大小为40M,对每个文件内进行排序,之后建立一个全局的小根堆(维护capacity为1000)
之后每次取小根堆顶i,写入总的文件,并取i对应文件的下一个数加入小根堆,重复以上过程