通常,您正在寻找的算法类称为外部排序.也许这种排序算法最广为人知的例子叫做Merge sort.
这个算法(外部版本)的想法是你将数据拆分成可以在内存中排序的部分(比如10万),并独立地对每个块进行排序(使用一些标准算法,如快速排序).然后你取出块并合并它们(所以你将两个100k块合并成一个200k块),这可以通过从块中读取元素到缓冲区来完成(因为块已经被排序).最后,将两个较小的块合并为一个块,该块将按正确的顺序包含所有元素.
| 归档时间: |
|
| 查看次数: |
1753 次 |
| 最近记录: |