文档介绍:该【数据结构严蔚敏公开课获奖课件赛课一等奖课件 】是由【书犹药也】上传分享,文档一共【119】页,该文档可以免费在线阅读,需要了解更多关于【数据结构严蔚敏公开课获奖课件赛课一等奖课件 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第十章
排序
5/10/2025
1页
【课前思考】
1. 你熟悉排序吗?你过去曾经学过哪些排序方法?
在第一章中曾以选择排序和起泡排序为例讨论算法实践复杂度,不知你还记得吗?
2. 你自己有没有编过排序的程序?是用的什么策略?
5/10/2025
2
【学习目的】
1.理解排序的定义和多种排序措施的特点,并能加以灵活应用。排序措施有不一样的分类措施,基于"关键字间的比较"进行排序的措施可以按排序过程所根据的不一样原则分为插入排序、互换排序、选择排序、归并排序和计数排序等五类。 2.掌握多种排序措施的时间复杂度的分析措施。能从"关键字间的比较次数"分析排序算法的平均状况和最坏状况的时间性能。按平均时间复杂度划分,内部排序可分为三类:O (n2) 的简单排序措施,O (n·logn) 的高效排序措施和O (d·n)的基数排序措施。 3.理解排序措施"稳定"或"不稳定"的含义,弄清晰在什么状况下规定应用的排序措施必须是稳定的。
5/10/2025
3
【重点和难点】
希尔排序、迅速排序、堆排序和归并排序等高效措施是本章的学习重点和难点。
【知识点】
排序、直接插入排序、折半插入排序、表插入排序、希尔排序、起泡排序、迅速排序、简单选择排序、堆排序、2-路归并排序、基数排序、排序措施的综合比较 。
5/10/2025
4
【学习指南】
本章学习的要点重要是理解多种排序措施实现时所根据的原则以及它们的重要操作(“关键字间的比较”和“记录的移动”)的时间分析。学习中应注意掌握多种排序措施实现的要点,可通过对基础知识题中算法的手工执行和比较分析,切实掌握多种排序过程的排序特点所在,注意同一排序措施在不一样的教科书上可以有不一样书写形式描述的算法。在学习本章过程中需练习的算法设计题为:,, , , , , 和 。
5/10/2025
5
概述
插入排序
迅速排序
堆排序
归并排序
基数排序
多种排序措施的综合比较
外部排序
5/10/2025
6
概 述
一、排序的定义
二、内部排序和外部排序
三、内部排序措施的分类
5/10/2025
7
一、什么是排序?
排序是计算机内常常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。
例如:将下列关键字序列
52, 49, 80, 36, 14, 58, 61, 23, 97, 75
调整为
14, 23, 36, 49, 52, 58, 61 ,75, 80, 97
5/10/2025
8
一般状况下,
假设含n个记录的序列为{ R1, R2, …, Rn }
其对应的关键字序列为 { K1, K2, …,Kn }
这些关键字互相之间可以进行比较,即在
它们之间存在着这样一种关系 :
Kp1≤Kp2≤…≤Kpn
按此固有关系将上式记录序列重新排列为
{ Rp1, Rp2, …,Rpn }
的操作称作排序。
5/10/2025
9
二、内部排序和外部排序
若整个排序过程不需要访问外存便能完毕,则称此类排序问题为内部排序;
反之,若参与排序的记录数量很大,
整个序列的排序过程不也许在内存中
完毕,则称此类排序问题为外部排序。
5/10/2025
10