河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.8 外排序

外排序10.8外排序是指数据存放在外存中,数据排序时涉及内、外存数据交换的排序方法。内存数据交换文件存储在外存上的数据以文件为基本单位。1/44
外排序是指数据存放在外存中,数据排序时涉及内、外存数据交换的排序方法。 存储在外存上的数据以文件为基本单位。 文件 内存 数据交换 1/44

外排序基本过程(1)生成初始归并段(顺串):将一个文件(含待排序数据)中的数据分段读入内存,每个段在内存中进行排序,并将有序数据段写到外存文件上,从而得到若干初始归并段。(2)多路归并:对这些初始归并段进行多路归并,使得有序归并段逐渐扩大,最后在外存上形成整个文件的单一归并段,也就完成了这个文件的外排序。2/44
(1)生成初始归并段(顺串):将一个文件(含待排序数据)中的数 据分段读入内存,每个段在内存中进行排序,并将有序数据段写到外存 文件上,从而得到若干初始归并段。 (2)多路归并:对这些初始归并段进行多路归并,使得有序归并段逐 渐扩大,最后在外存上形成整个文件的单一归并段,也就完成了这个文 件的外排序。 2/44

内存数据交换文件外排序的时间是上述两个阶段的时间和。主要包含内外存数据交换时间和元素比较时间(元素移动次数相对较少)3/44
文件 内存 数据交换 外排序的时间是上述两个阶段的时间和。 主要包含内外存数据交换时间和元素比较时间(元素移动次数相对较少)。 3/44

外排序方法与各种外存设备的特征有关。外存设备大体上可分为两类:顺序存取设备,例如磁带。直接存取设备,例如磁盘。仅仅讨论磁盘排序4/44
外存设备大体上可分为两类: 外排序方法与各种外存设备的特征有关。 顺序存取设备,例如磁带。 直接存取设备,例如磁盘。 仅仅讨论磁盘排序 4/44

示例文件abc.dat:5,6,3,4,9,8,1,7,10,2←进行递增排序应用程序可用的内存空间大小W=2。5/44
文件abc.dat: 5,6,3,4,9,8,1,7,10,2 进行递增排序 应用程序可用的内存空间大小w=2。 示例 5/44

外排序过程(1)生成5个初始归并段W=2abc1.dat:5.6内存abc2.dat:3,4abc3.dat:8,9abc.databc4.dat:1.7abc5.dat:2.105634.981.71026/44
5,6,3,4,9,8,1,7,10,2 外排序过程 w=2 内存 abc.dat ① abc1.dat:5,6 ② abc2.dat:3,4 ③ abc3.dat:8,9 ④ abc4.dat:1,7 ⑤ abc5.dat:2,10 6/44

(2)多路归井:W=22路归井(k=2)abc1.dat :5. 6abc2.dat:3,4内存abc12.dat:3.4.5.6abc1.datk=2abc2.dat7/44
k=2 内存 abc1.dat abc2.dat abc12.dat:3,4,5,6 abc1.dat:5,6 abc2.dat:3,4 7/44

abc3.dat :8,9abc4.dat:1.7内存abc34.dat:1.7,8.9abc3.datW=2abc4.databc3.dat和abc4.dat中每个元素读一次写一次(写入abc34.dat)8/44
w=2 内存 abc3.dat abc4.dat abc34.dat:1,7,8,9 abc3.dat:8,9 abc4.dat:1,7 abc3.dat和abc4.dat中每个元素读一次写一次(写入abc34.dat) 8/44

abc12.dat:3.4,5,6abc34.dat:1.7.8.9内存abc1234.dat:1,3,45,6,7,8,9abc12.datk=2abc34.databc12.dat和abc34.dat中每个元素读一次写一次(写入abc1234.dat)9/44
k=2 内存 abc12.dat abc34.dat abc1234.dat:1,3,4, 5,6,7,8,9 abc12.dat:3,4,5,6 abc34.dat:1,7,8,9 abc12.dat和abc34.dat中每个元素读一次写一次(写入abc1234.dat) 9/44

abc1234.dat:1.3.4.56.7.8.9abc5.dat:2,10abc.dat:1.2.3.4内存5,6.7,89,10abc1234.datk=2abc5.databc1234.dat和abc5.dat中每个元素读一次写一次(写入abc.dat)10/44
k=2 内存 abc1234.dat abc5.dat abc.dat:1,2,3,4, 5,6,7,8,9,10 abc1234.dat:1,3,4,5,6,7,8,9 abc5.dat:2,10 abc1234.dat和abc5.dat中每个元素读一次写一次(写入abc.dat) 10/44
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.5 归并排序 10.6 基数排序 10.7 各种内排序方法的比较和选择.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.4 选择排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.4 哈希表查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(2/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(1/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.1 查找的基本概念 9.2 线性表的查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.6 拓扑排序 8.7 AOE网与关键路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.5 最短路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.4 生成树和最小生成树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.3 图的遍历.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.1 图的基本概念 8.2 图的存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.9 树算法设计和并查集.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.6 线索二叉树 7.7 哈夫曼树 7.8 二叉树与树、森林之间的转换.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.4 二叉树的层次遍历 7.5 二叉树的构造.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.3 二叉树先序、中序和后序遍历.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.2 二叉树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.1 树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第6章 数组和稀疏矩阵.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第5章 递归.pptx
- 《Python数据分析》课程电子教案(PPT课件)第1章 数据分析与可视化概述新.pptx
- 《Python数据分析》课程电子教案(PPT课件)第2章 Python编程基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第3章 NumPy数值计算基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第4章 pandas统计分析基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第5章 Pandas数据载入与预处理.pptx
- 《Python数据分析》课程电子教案(PPT课件)第6章 Matplotlib数据可视化基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第7章 利用Seaborn绘图.pptx
- 《Python数据分析》课程电子教案(PPT课件)第8章 pyecharts可视化.pptx
- 《Python数据分析》课程电子教案(PPT课件)第9章 时间序列数据分析.pptx
- 《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算.pptx
- 《R语言》课程教学资源(PPT课件)第01章 进入R的世界.pptx
- 《R语言》课程教学资源(PPT课件)第02章 R语言基础.pptx
- 《R语言》课程教学资源(PPT课件)第03章 R函数与流程控制.pptx
- 《R语言》课程教学资源(PPT课件)第04章.pptx
- 《R语言》课程教学资源(PPT课件)第05章 基本图形.pptx
- 《R语言》课程教学资源(PPT课件)第06章 数据预处理.pptx
- 《R语言》课程教学资源(PPT课件)第07章 数据处理与描述性统计.pptx
- 沈阳师范大学:《高级语言程序设计Python》课程教学大纲 Programming of Computer Language(一).pdf
- 沈阳师范大学:《高级语言程序设计Python》课程授课教案(2020讲义,共三章,授课教师:刘立群).pdf
- 沈阳师范大学:《计算机控制技术》课程授课教案(电子信息工程专业,共九章,主讲教师:申海).pdf
