外排序

在学校学过的都是内排序,也就是内存可以直接装下数据,在内存 中对数据直接进行排序。而当数据很大的时候,这时内存不能一次性装下所有数据,就必须对数据进行分割,根据内存大小将数据分割成L 份,每次将部分数据装入内存,在内存中可以用内排序将数据排序,然后写入到临时文件中,总共形成L 个文件。然后对这L 份文件进行归并排序。有同学感到疑惑,如果把两份文件装入内存进行归并不是内存溢出了吗。。。。。对。。。说明不能将全部两份文件放到内存里。。。因为临时文件是有序的,所以可以每份文件都取一部分放入内存中进行多路归并,当这一部分的数据都写入到最终文件,再从这一部分对应的临时文件中取数据,直到对应的临时文件全部取完。直到所有文件都取完,最终的文件肯定是有序的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值