《数据结构》 第十章内部排序
《数据结构》 第十章 内部排序
第十章内部排序 第十章内部排序 内容和要求 排序及有关的概念,直接插入排序、三分法插入排 序、表插入排序,shel排序,直接选择排序、树形选择 排序、堆排序、冒泡排序和快速排序、基数排序、归并 排序。 要求通过学习,掌握排序的各种方法,为解决实际 问题奠定理论基础的技术基础。了解排序和排序码的概 熟悉直接插入排序、二分法插入排序、表插入排序 She排序的方法和时空复杂性 掌握堆排序、快速排序、基数排序、归并排序的基 一本思路,排序方法,算法的主要步骤和时空复杂性; 知道Mhe排序和树形选择排序方法 第2页
第十章 内部排序 第2页 第十章 内部排序 内容和要求 排序及有关的概念,直接插入排序、二分法插入排 序、表插入排序,shell排序,直接选择排序、树形选择 排序、堆排序、冒泡排序和快速排序、基数排序、归并 排序。 要求通过学习,掌握排序的各种方法,为解决实际 问题奠定理论基础的技术基础。了解排序和排序码的概 念, 熟悉直接插入排序、二分法插入排序、表插入排序 、Shell排序的方法和时空复杂性; 掌握堆排序、快速排序、基数排序、归并排序的基 本思路,排序方法,算法的主要步骤和时空复杂性; 知道 shell 排序和树形选择排序方法
●概述 第十章内部排序 如何对一大批按关键字无序的数据元 素或记录,高效率地将它们重新排列成 个按关键字有序的序列,是计算机应 用中的重要课题之一。 可以假定被排序的对象是由一组记录 组成的文件,而记录则由若干个数据项 (或字段、域)组成,其中有一项可用 来标识一个记录,称为关键字,它具关 键字值。关键字是排序操作的依据 第3页
第十章 内部排序 第3页 概 述 如何对一大批按关键字无序的数据元 素或记录,高效率地将它们重新排列成 一个按关键字有序的序列,是计算机应 用中的重要课题之一。 可以假定被排序的对象是由一组记录 组成的文件,而记录则由若干个数据项 (或字段、域)组成,其中有一项可用 来标识一个记录,称为关键字,它具关 键字值。关键字是排序操作的依据。 ⚫
●概述 第十章内部排序 定义1:假设含n个记录的序列为 {R1,R2…,Rn (10-1) 其相应的关键字序列为 K1,K2,…,K 需确定1,2,,n的一种排列P n 使其相应 的关键字满足如下的非递减(或非递增)关系 K<K 10-2 n 即使式(10-1)的序列成为一个按关键字有序的序列 RRoI, R Ron j (10-3) 这样一种操作称为排序。 显然,当待排记录的关键字均不相同时,则排序的结果 一是唯一的,否则排序的结果不一定唯一。特别地,按主关键 字进行排序,其排序的结果是唯一的。而若按次关键字进行 排序,结果不一定唯一 第4页
第十章 内部排序 第4页 定义1: 假设含 n 个记录的序列为 {R1,R2,···,Rn } (10-1) 其相应的关键字序列为 {K1,K2,···,Kn } 需确定 1,2,···,n 的一种排列 P1,P2,···,Pn ,使其相应 的关键字满足如下的非递减(或非递增)关系 Kp1≤Kp2 ≤ ··· ≤ Kpn (10-2) 即使式 (10-1) 的序列成为一个按关键字有序的序列 {Rp1,Rp2 ,···, Rpn } (10-3) 这样一种操作称为排序。 ⚫概 述 显然,当待排记录的关键字均不相同时,则排序的结果 是唯一的,否则排序的结果不一定唯一。特别地,按主关键 字进行排序,其排序的结果是唯一的。而若按次关键字进行 排序,结果不一定唯一
●概述 第十章内部排序 定义2:如果待排序的文件中,存在有多个关键字 相同的记录,经过排序后这些具有相同关键字的记录之 间的相对次序保持不变,则称这种排序方法是稳定的; 反之,若具有相同关键字的记录之间的相对次序发生变 化,则称这种排序方法是不稳定的。 定义3:在排序过程中,若整个文件都是放在内存 中处理,排序时不涉及数据的内、外存交换,则称为内 部排序,筒称内排序;反之,若排序过程中要进行数据 的内、外存交换,则称之为外部排序,筒称外排序字。 第5页
第十章 内部排序 第5页 定义2: 如果待排序的文件中,存在有多个关键字 相同的记录,经过排序后这些具有相同关键字的记录之 间的相对次序保持不变,则称这种排序方法是稳定的; 反之,若具有相同关键字的记录之间的相对次序发生变 化,则称这种排序方法是不稳定的。 定义3 : 在排序过程中,若整个文件都是放在内存 中处理,排序时不涉及数据的内、外存交换,则称为内 部排序,简称内排序;反之,若排序过程中要进行数据 的内、外存交换,则称之为外部排序,简称外排序。 ⚫概 述