一、概念
排序:就是将一组杂乱无章的数据按照一定的规律(升序或降序)组织起来。
数据表:待排序数据元素的有限集合。
排序码:通常数据元素有多个属性域,其中有一个属性域可用来区分元素,作为排序依据,该域即为排序码。
主排序码:如果在数据表中各个元素的排序码互不相同,这种排序码称为主排序码。
按照主排序码进行排序,排序的结果是唯一的。
按照次排序码进行排序,排序的结果可能是不唯一的。
二、算法的稳定性
如果在元素序列中有两个元素R[i]和R[j],他们的排序码K[i]=K[j],且在排序之前,元素R[i]在R[j]之前。如果排序之后,元素R[i]仍在R[j]之前,则称这个算法是稳定的,否则称这个算法是不稳定的。
内部排序:数据元素放在内存中的排序。
外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。不能一次性将所有的元素放在内存中。
三、常见的排序方法
1、插入排序:直接插入排序和希尔排序
2、选择排序:选择排序和堆排序
3、交换排序:冒泡排序和快速排序
4、归并排序