一、直接插入排序、冒泡排序和简单选择排序是最基本的排序方法,它们主要用于元素个数n(n<10000)不是很大的情形。
它们的平均复杂度均为O(n^2),实现也比较简单。
1、直接插入排序对于规模很小的元素序列(n<=25)非常有效。它的时间复杂度与待排序元素序列的初始排列有关。在最好情况下,直接插入排序只需要n-1次比较就可以完成,而且不需要交换操作。在平均情况下和最差情况下,直接插入排序的比较和交换操作都是O(n^2).
2、冒泡排序在最好的情况下只需要一趟排序过程就可以完成,此时只需要n-1次比较操作,不需要交换操作。
3、简单选择排序的关键字比较次数与待排序元素序列的初始排序无关,其比较次数总是O(n^2),但元素移动次数则与待排序元素序列初始排列有关,最好情况下数据不需要移动,最坏情况下元素移动次数不超过3(n-1)次。
从空间复杂度来看,这三