复习之余,就将数据结构中关于排序的这块知识点整理了一下,写下来是想与更多的人分享,最关键的是做一备份,为方便以后查阅。
排序
1、概念:
有n个记录的序列{R1,R2,.......,Rn}(此处注意:1,2,n 是下表序列,以下是相同的作用),其相应关键字的序列是{K1,K2,.........,Kn}。通过排序,要求找出当前下标序列1,2,......,n的一种排列p1,p2,........pn,使得相应关键字满足如下的非递减(非递增)关系,即:Kp1<=Kp2<=Kpn,这样就得到一个按关键字有序的记录序列:{Rp1,Rp2,.......,Rpn}。
2、分类
根据排序时数据所占用存储器的不同,可将排序分为两类。
内部排序:整个排序过程完全在内存中进行,如下:
插入类排序(直接插入排序、折半插入排序、希尔排序);
交换类排序(冒泡排序、快速排序);
选择类排序(简单选择排序、树型选择排序、堆排序