冒泡排序
冒泡排序(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);