算法思路

排序算法

时间复杂度

最好情况

最坏情况

空间复杂度

稳定性

插入排序

直接插入

O(n2)

O(n)

O(n2)

O(1)

希尔排序

O(n(logn)2)

 
 

O(1)

交换排序

冒泡排序

O(n2)

O(n)

O(n2)

O(1)

快速排序

O(nlogn)

O(nlogn)

O(n2)

O(logn)

选择排序

直接选择

O(n2)

O(n2)

O(n2)

O(1)

堆排序

O(nlogn)

O(nlogn)

O(nlogn)

O(1)

归并排序

归并排序

O(nlogn)

O(nlogn)

O(nlogn)

O(n)

不稳定的排序算法有:快、希、选、堆。(记忆:找到工作就可以“快些选一堆”美女来玩了(并不能))