数据结构数据结构第十章内部排序第十章内部排序第十章内部排序知识点排序的基本概念三种简单的排序方法:冒泡排序、直接选择排序、简单插入排序堆排序快速排序归并排序基数排序难点堆排序快速排序归并排序基数排序要求熟练掌握以下内容:熟悉各种内部排序方法的基本思想和特点各种排序方法的优缺点、时、空性能和适用场合熟悉并掌握三种简单排序算法、快速排序算法和堆排序算法了解以下内容:二路归并排序算法基数排序算法第十章目录第十章目录10
1排序的基本概念10
2三种简单排序方法10
3堆排序10
4快速排序10
5归并排序10
6基数排序10
7应用实例及分析小结习题与练习10
1排序的基本概念排序的基本概念将一组杂乱无序的数据按一定的规律顺次排列起来叫做排序(sort)
对一批记录的排序,应该指定是根据记录中哪个域的数据进行排列
这个作为排序依据的数据域我们称之为关键字(key)
本章讨论的排序均为按递增顺序排序,并假定要排序的记录均已存储在一个一维数组中
该一维数组定义如下:#defineMAXITEM100structrecord{KeyTypekey;/*关键字*/ElemTypedata;/*其他域*/}sqlist[MAXITEM];大多数的排序方法数据是存储在内存中,并在内存中加以处理的,这种排序方法叫内部排序
如果在排序过程中,数据的主要部分存放在外存储器中(如软盘、硬盘、磁带),借助内存进行内、外存数据交换,逐步排列记录之间的顺序,则称之为外部排序
一种排序方法,如果排序后具有相同关键字的记录仍维持排序之前的相对次序,则称之为稳定的,否则称为不稳定的
1简单选择排序简单选择排序简单选择排序的作法是:第一趟扫描所有数据,选择其中最小的一个与第一个数据互换;第二趟从第二个数据开始向后扫描,选择最小的与第二个数据