算法思路 |
排序算法 |
时间复杂度 |
最好情况 |
最坏情况 |
空间复杂度 |
稳定性 |
插入排序 |
直接插入 |
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) |
是 |
不稳定的排序算法有:快、希、选、堆。(记忆:找到工作就可以“快些选一堆”美女来玩了(并不能))