数据结构排序.ppt
《数据结构排序.ppt》由会员分享,可在线阅读,更多相关《数据结构排序.ppt(19页珍藏版)》请在第壹文秘上搜索。
1、第第1010章章 排序排序排序的基本概念排序的基本概念插入排序插入排序( (直接插入排序、直接插入排序、) )选择排序选择排序( (直接直接选择排序选择排序、堆、堆) )交换排序交换排序( (冒泡排序、快速排序冒泡排序、快速排序) )归并排序归并排序基数排序基数排序性能比较性能比较主要知识点主要知识点10.1 10.1 排序的基本概念排序的基本概念 排序排序是对数据元素序列建立某种有序排列的过程是对数据元素序列建立某种有序排列的过程, ,是把一个数是把一个数据元素序列整理成按关键字递增(或递减)排列的过程。据元素序列整理成按关键字递增(或递减)排列的过程。关键字关键字是要排序的数据元素集合中的
2、一个域,排序是以关键字是要排序的数据元素集合中的一个域,排序是以关键字为基准进行的。为基准进行的。主关键字主关键字: :数据元素值不同时该关键字的值也一定不同,是能数据元素值不同时该关键字的值也一定不同,是能够惟一区分各个不同数据元素的关键字够惟一区分各个不同数据元素的关键字; ;不满足主关键字定义不满足主关键字定义的关键字称为的关键字称为次关键字次关键字。内部排序内部排序是把待排数据元素全部调入内存中进行的排序。是把待排数据元素全部调入内存中进行的排序。外部排序外部排序是因数量太大,把数据元素分批导入内存,排好序后是因数量太大,把数据元素分批导入内存,排好序后再分批导出到磁盘和磁带外存介质上
3、的排序方法。再分批导出到磁盘和磁带外存介质上的排序方法。比较排序算法优劣的标准比较排序算法优劣的标准: : (1)时间复杂度时间复杂度:它主要是分析记录关键字的比较次数和记录的它主要是分析记录关键字的比较次数和记录的 移动次数移动次数(2)空间复杂度空间复杂度 :算法中使用的内存辅助空间的多少算法中使用的内存辅助空间的多少 (3)稳定性稳定性:若两个记录若两个记录A A和和B B的关键字值相等,但排序后的关键字值相等,但排序后A A、B B的的 先后次序保持不变,则称这种排序算法是稳定的先后次序保持不变,则称这种排序算法是稳定的10.210.2插入排序插入排序 插入排序的插入排序的基本思想基本
4、思想是:是:每步将一个待排序的数据元素,每步将一个待排序的数据元素,按其关键码大小,插入到前面已经排好序的一组数据元素的适按其关键码大小,插入到前面已经排好序的一组数据元素的适当位置上,直到数据元素全部插入为止。当位置上,直到数据元素全部插入为止。1.1.直接插入排序直接插入排序常用的插入排序有常用的插入排序有直接插入排序直接插入排序和和希尔排序希尔排序两种。两种。 其基本思想是:其基本思想是: 顺序地把待排序的数据元素按其关键字值的大小插入到顺序地把待排序的数据元素按其关键字值的大小插入到已排序数据元素子集合的适当位置。已排序数据元素子集合的适当位置。算法如下:算法如下:void Inser
5、tSort (DataType a, int n)/用直接插入法对用直接插入法对a0-an-1排序排序 int i, j; DataType temp; for(i=0; i -1 & temp.key aj.key) aj+1 = aj; j-; aj+1 = temp; 算法分析算法分析: :(1)空间效率:空间效率:仅占用若干个临时内存单元仅占用若干个临时内存单元(2)算法的稳定性:算法的稳定性:稳定稳定(3)时间效率:时间效率: 在最坏情况下(反序),所有元素的比较次在最坏情况下(反序),所有元素的比较次数总和为(数总和为(12n-1)O(n2)。平均时间复杂度也为平均时间复杂度也为O
6、(n2) 但在最好情况下(正序),所有元素的比较次数但在最好情况下(正序),所有元素的比较次数总和为(总和为(111)O(n)。 分析:分析:元素序列越接近有序,比较次数越少。时间复杂元素序列越接近有序,比较次数越少。时间复杂度越接近度越接近O(n) 。64789624564896245764624576489245676489567246489589624初始关键字序列初始关键字序列:第一次排序第一次排序:第二次排序第二次排序:第三次排序第三次排序:第四次排序第四次排序:第五次排序第五次排序:7直接插入排序过程直接插入排序过程 10.3 10.3 选择排序选择排序 基本思想是:基本思想是:每
7、次从待排序的数据元素集合中选取每次从待排序的数据元素集合中选取关键字关键字最小(或最大)最小(或最大)的数据元素放到数据元素集合的的数据元素放到数据元素集合的某个位置,某个位置,数据元素集合不断缩小,当数据元素集合为空时选择排序结数据元素集合不断缩小,当数据元素集合为空时选择排序结束。束。常用的选择排序算法:常用的选择排序算法: (1 1)直接选择排序)直接选择排序 (2 2)堆排序)堆排序 基本思想是:基本思想是:从待排序的数据元素集合中选取关键字最小从待排序的数据元素集合中选取关键字最小的数据元素并将它与原始数据元素集合中的第一个数据元素交的数据元素并将它与原始数据元素集合中的第一个数据元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 排序
