冒泡排序

冒泡排序(Bubble Sort)是一种交换排序,它的基本思想是:俩俩比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止;

时间复杂度 O(n2);

选择排序

选择排序的基本思想是每一趟在 n-i+1(i=1,2,...n)个记录中选取关键字最小的记录作为有序序列的第i个记录;

尽管与冒泡排序同为 O(n2),但简单选择排序的性能上还是略优于冒泡排序;

插入排序

直接插入排序法的时间复杂度为 O(n2)。同样的 O(n2) 的时间复杂度,直接插入排序法比冒泡和简单选择排序法的性能要好一些。

希尔排序

希尔排序的时间复杂度为 O(n 3/2)

堆排序

堆排序的时间复杂度为 O(nlogn),它最好、最坏和平均时间复杂度均为 O(nlogn)

归并排序

归并排序的时间复杂度是 O(nlogn),空间复杂度为 O(n+logn);
归并排序是一种比较占用内存,但效率高且稳定的算法。

快速排序

快速排序的时间复杂度为 O(nlogn);