《数据结构》课程教学资源:第十章 内部排序(10.1-10.4)

《数据结构》 第十章上)
《数据结构》 第十章(上)

第十章内部排序 数据结构 10.1概述 10.2插入排序 10.2.1直接插入排序 10.2.2其它插入排序 10.2.3希尔排序 10.3快速排序 10.4选择排序 10.4.1简单选择排序 10.4.3堆排序 10.5归并排序 10.6基数排序 10.6.1多关键字的排序 10.6.2链式基数排序 10.7各种内部排序方法的比较讨论
数据结构 tjm 第十章 内部排序 10.1 概述 10.2 插入排序 10.2.1 直接插入排序 10.2.2 其它插入排序 10.2.3 希尔排序 10.3 快速排序 10.4 选择排序 10.4.1 简单选择排序 10.4.3 堆排序 10.5 归并排序 10.6 基数排序 10.6.1 多关键字的排序 10.6.2 链式基数排序 10.7 各种内部排序方法的比较讨论

数据结构 101概述 排序:将一个数据元素(或记录)的任意序列,重新 排列成一个按关键字有序的序列。 有序表与无序表:一组记录按关键字的递增或递减次 序排列得到的结果被称之为有序表,相应地,把排序 前的状态称为无序表。 正序表与逆序表:若有序表是按关键字升序排列的, 则称为升序表或正序表,否则称为降序表或逆序表。 不失普遍性,一般只讨论正序表。 内部排序和外部排序: 内部排序:待排序记录存放在内存 外部排序:排序过程中需对外存进行访问的排序
数据结构 tjm 10.1 概述 排序:将一个数据元素(或记录)的任意序列,重新 排列成一个按关键字有序的序列。 有序表与无序表:一组记录按关键字的递增或递减次 序排列得到的结果被称之为有序表,相应地,把排序 前的状态称为无序表。 内部排序和外部排序: 内部排序:待排序记录存放在内存 外部排序:排序过程中需对外存进行访问的排序 正序表与逆序表:若有序表是按关键字升序排列的, 则称为升序表或正序表,否则称为降序表或逆序表。 不失普遍性,一般只讨论正序表

数据结构 内部排序得方法: 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序:2-路归并排序 其它排序:多关键字排序、基数排序 排序基本操作: 比较两个关键字大小 将记录从一个位置移动到另一个位置 排序算法的稳定性: 考虑有多个数据元素具有相同关键字的情况。 稳定:具有相同关键字的数据元素的相对位置关系 在排序前后保持不变。 不稳定:具有相同关键字的数据元素的相对位置关 系在排序前后发生了改变
数据结构 tjm 内部排序得方法: 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序:2-路归并排序 其它排序: 多关键字排序、基数排序 排序基本操作: 比较两个关键字大小 将记录从一个位置移动到另一个位置 排序算法的稳定性: 考虑有多个数据元素具有相同关键字的情况。 稳定:具有相同关键字的数据元素的相对位置关系 在排序前后保持不变。 不稳定:具有相同关键字的数据元素的相对位置关 系在排序前后发生了改变

102插入排序 数据结构 1021直接插入排序 排序过程:整个排序过程为n-1趟插入,即先将序 列中第1个记录看成是一个有序子序列,然后从第2 个记录开始,逐个进行插入,直至整个序列有序 算法参见P265 例:i=1(49)386597761327 i=238(3849)6597761327 i365(384965)97761327 97638496597)761327 i=576(3849657697)1327 i=613(133849657697)27 i=727(3273849657697 排序结果:3p78955697)
数据结构 tjm 例: 49 38 65 97 76 13 27 i=2 38 (38 49) 65 97 76 13 27 i=3 65 (38 49 65) 97 76 13 27 i=4 97 (38 49 65 97) 76 13 27 i=5 76 (38 49 65 76 97) 13 27 i=6 13 (13 38 49 65 76 97) 27 i=1 ( ) i=7 (13 38 49 65 76 97) 27 27 j j j j j j 27 38 49 65 76 97 排序结果:(13 27 38 49 65 76 97) 10.2 插入排序 10.2.1 直接插入排序 排序过程:整个排序过程为n-1趟插入,即先将序 列中第1个记录看成是一个有序子序列,然后从第2 个记录开始,逐个进行插入,直至整个序列有序。 算法参见P265

数据结构 算法评价 若待排序记录按关键字从小到大排列(正序),则 关键字比较次数: 1=n 记录移动次数: 2=2(n-1) 若待排序记录按关键字从大到小排列(逆序),则 关键字比较次数:∑=(+2X(n-1) 记录移动次数:∑(+1) (n+4)(n-1) 若待排序记录是随机的,取平均值,则 关键字比较次数约: 4 记录移动次数约: 时间复杂度:T(m)=Om2 空间复杂度:S(n)=O(1) 直接插入排序是一种稳定的排序方法
数据结构 tjm 若待排序记录按关键字从小到大排列(正序),则 关键字比较次数: 1 1 2 = − = n n i 记录移动次数: 2 2( 1) 2 = − = n n i 若待排序记录按关键字从大到小排列(逆序),则 关键字比较次数: 2 ( 2)( 1) 2 + − = = n n i n i 记录移动次数: 2 ( 4)( 1) ( 1) 2 + − + = = n n i n i 若待排序记录是随机的,取平均值,则 关键字比较次数约: 4 2 n 记录移动次数约: 4 2 n 时间复杂度:T(n)=O(n²) 空间复杂度:S(n)=O(1) 直接插入排序是一种稳定的排序方法。 算法评价

数据结构 1022其它插入排序 折半插入排序:用折半查找方法确定插入位置。 算法参见P267 例:i=1 (30)1370853942620 213(1330)70853942620 i=76(6133039427085)20 820(133034270)20 i=820 33039427085)20 i=820(613 39427085)20 S m i=820(6 39427085)20 i=820(613203039427085) 时间复杂度:T(n)=O(m2)空间复杂度:S(n)=0(1)m
数据结构 tjm 折半插入排序:用折半查找方法确定插入位置。 例: i=1 (30) 13 70 85 39 42 6 20 i=2 13 (13 30) 70 85 39 42 6 20 i=7 6 (6 13 30 39 42 70 85 ) 20 … i=8 20 (6 13 30 39 42 70 85 ) 20 s m j i=8 20 (6 13 30 39 42 70 85 ) 20 s m j i=8 20 (6 13 30 39 42 70 85 ) 20 s mj i=8 20 (6 13 30 39 42 70 85 ) 20 j s i=8 20 (6 13 20 30 39 42 70 85 ) 10.2.2 其它插入排序 算法参见P267 时间复杂度:T(n)=O(n²) 空间复杂度:S(n)=O(1)

数据结构 1023希尔排序 希尔排序( Shell sort)又称为“缩小增量排 序”。排序过程:先取一个正整数d1<n,把所有 相隔d1的记录放一组,组内进行直接插入排序; 然后取d2<d1,重复上述分组和排序操作;直至 d=1,即所有记录放进一个组中排序为止
数据结构 tjm 10.2.3 希尔排序 希尔排序(Shell Sort)又称为“缩小增量排 序” 。排序过程:先取一个正整数d1<n,把所有 相隔d1的记录放一组,组内进行直接插入排序; 然后取d2<d1,重复上述分组和排序操作;直至 di=1,即所有记录放进一个组中排序为止

数据结构 例:初始:4938659776132748554 取d1=5 趟分组:4938659776132748554 趟排序:1327485544938659776 取d2=3 二趟分组:1327485544938659776 二趟排序:1344838274955659776 取d3=1 趟分组:1327485544938659776 三趟排序:4132738484955657697
数据结构 tjm 取d3=1 三趟分组:13 27 48 55 4 49 38 65 97 76 三趟排序:4 13 27 38 48 49 55 65 76 97 例:初始:49 38 65 97 76 13 27 48 55 4 一趟排序:13 27 48 55 4 49 38 65 97 76 二趟排序:13 4 48 38 27 49 55 65 97 76 取d1=5 一趟分组:49 38 65 97 76 13 27 48 55 4 取d2=3 二趟分组:13 27 48 55 4 49 38 65 97 76

数据结构 其中第一趟排序过程如下 1327485544938659776 第二趟:1344838274955659776 算法参见P272
数据结构 tjm 其中第一趟排序过程如下: 49 38 65 97 76 13 27 48 55 4 j i 13 27 49 38 第二趟: 13 27 48 55 4 49 38 65 97 76 j j i i 4 27 j j i i 55 j i 38 j j j i i i j j i i 48 65 j i 55 97 j i 4 76 算法参见P272
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据结构》课程教学资源:第十章 内部排序(10.5-10.7).ppt
- 《数据结构》课程教学资源:第七章 图(7.3-7.6).ppt
- 《数据结构》课程教学资源:第六章(6-3)Huffman树的构造.ppt
- 《数据结构》课程教学资源:第七章 图 7.1 图的定义和术语 7.2 图的存储结构.ppt
- 《数据结构》课程教学资源:第六章 树和二叉树(2/2).ppt
- 《数据结构》课程教学资源:第六章 树和二叉树(1/2).ppt
- 《数据结构》课程教学资源:第三章 栈和队列 3.3栈与递归的实现 3.4队列.ppt
- 《数据结构》课程教学资源:第三章 栈和队列 3.1栈 3.2栈的应用举例.ppt
- 《数据结构》课程教学资源:第九章 查找.ppt
- 《数据结构》课程教学资源:第五章 数组.ppt
- 《数据结构》课程教学资源:第二章 线性表.ppt
- 《数据结构》课程教学资源:第一章 绪论.ppt
- 《数据结构》课程教学资源:第四章 串.ppt
- 上海第二工业大学:《单片机原理及应用》课程教学资源(PPT课件讲稿)第一章习题.ppt
- 上海第二工业大学:《单片机原理及应用》课程教学资源(PPT课件讲稿)第七章 常用外围设备接口电路.ppt
- 上海第二工业大学:《单片机原理及应用》课程教学资源(PPT课件讲稿)第六章 MCS-51存储器和1/0扩展.ppt
- 上海第二工业大学:《单片机原理及应用》课程教学资源(PPT课件讲稿)第五章 中断系统、定时器/计数器和串行口.ppt
- 上海第二工业大学:《单片机原理及应用》课程教学资源(PPT课件讲稿)第三章 MCS-51单片机指令系统.ppt
- 上海第二工业大学:《单片机原理及应用》课程教学资源(PPT课件讲稿)第四章 汇编语言程序设计.ppt
- 上海第二工业大学:《单片机原理及应用》课程教学资源(PPT课件讲稿)第二章 MCS-51单片机组成与工作原理.ppt
- 《计算机等级考试一级》第1章 计算机基础知识.ppt
- 《计算机等级考试一级》第2章 Windows2000操作系统.ppt
- 《计算机等级考试一级》第3章 word2000的使用.ppt
- 《计算机等级考试一级》第4章 Excel 2000的使用.ppt
- 《计算机等级考试一级》第5章 PowerPoint的使用.ppt
- 《计算机等级考试一级》第6章 因特网简介.ppt
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 8 Internet market Promotion.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter Electronic Payment systems.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 11 Electronic Commerce logistics.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 12 Management of Electronic Commerce Security.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 2 The strategy of the development of E-Commerce.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 3 Technology of Electronic Commerce.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 4 Website design.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 5 Electronic commerce information's search and selection.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter6 Transaction behavior on the internet.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 7 Internet marketing.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 1 Introduction of Electronic commerce.doc
- 上海理工大学:《电子商务基础与应用》课程教学资源(英文版讲义)Chapter 9 The principle of ebXML.doc
- 武汉大学:《WEB程序设计》第1讲 概述.ppt
- 武汉大学:《WEB程序设计》第2讲 HTML基础(上).ppt