数据结构与算法——第11章-外部排序-什么是外部排序算法(11.1)
一 概述
1 | 1.外部排序算法 |
二 外部排序算法
2.1 使用场景
1 | 上一章介绍了很多排序算法,插入排序、选择排序、归并排序等等, |
2.2 构成
1 | 外部排序算法由两个阶段构成: |
三 外部排序算法图示
3.1 步骤
1 | 例如,有一个含有 10000 个记录的文件,但是内存的可使用容量仅为 1000 个记录, |
3.2 图示
一、 2-路平衡归并
1 | 如图 1 所示有 10 个初始归并段到一个有序文件,共进行了 4 次归并, |
二、效率说明
1 | 对于外部排序算法来说,影响整体排序效率的因素主要取决于读写外存的次数, |
三、5-路平衡归并
1 | 对于同一个文件来说,对其进行外部排序时访问外存的次数同归并的次数成正比, |
1 | 对比 图 1 和图 2可以看出,对于 k-路平衡归并中 k 值得选择, |
四 提高效率方式
1 | 从公式上可以判断出,想要达到减少归并次数从而提高算法效率的目的,可以从两个角度实现: |
五 参考
- C语言中文网—什么是外部排序算法