排序的稳定性和不稳定性:
对需要排序的数据元素序列,将其按关键字进行排序,若相同关键字元素之间的位置关系,排序前与排序后的相对位置不发生变化,称这种排序方法是稳定的,相反是不稳定的。
内部排序和外部排序:
内部排序是指待排序列完全存放在内存中所进行的的排序过程,适合记录较少的序列。如果待排序列记录数量非常大,排序过程不能在内存中一次完成,必须对外存储器进行访问,这样的排序过程称为外部排序。
插入排序:
直接插入排序:时间复杂度为n^2,空间复杂度1;排序方法稳定,适合记录个数较少的情况;
希尔排序: 时间复杂度为n^3/2,空间复杂度1;
交换排序:
冒泡排序:时间复杂度为n^2,空间复杂度1;
快速排序:时间复杂度为n^2,空间复杂度n;快速排序是一种不稳定的排序方法;
选择排序:
直接选择排序:时间复杂度为n^2,空间复杂度1
堆排序:
归并排序:
基数排序: