需要排序大量的不能容纳到内存中的整数。想知道合并排序是否正确?我的解决方案是这样的,合并排序与大量的整数
- 使用基于内存的排序每个5%的整数,它可以保存到内存中,使用快速排序,在内存中执行有效;
- 在每20个块被排序后,使用合并排序对20个列表进行排序,对于合并排序,我只需要将每个文件的一部分加载到内存中,并在同一列表的当前部分加载相同列表的下一部分完全分类为最终结果。由于20个列表中的每一个都是排序的,我只需要从头到尾顺序加载部分块,所以内存很实惠。
我不确定这是否是大量整数排序的正确方法?
可能要看的东西是外部排序https://en.wikipedia.org/wiki/External_sorting –
@Moogs,感谢您的信息,我认为合并排序是外部排序? –
是的,这是正确的方法。我用过很多次。除了我多次进行双向合并,而不是20次合并。 –