算法 | 时间复杂度 |
---|---|
最好 ---------- 平均 --------- 最坏 | |
直接插入排序 | o(n)-------- o(n的平方) ----------- o(n的平方) |
冒泡排序 | o(n)-------- o(n的平方) -------- o(n的平方) |
选择排序 | o(n的平方) -------- o(n的平方) -------- o(n的平方) |
希尔排序 | 空--------o(nlogn)o(n的平方)----------o(nlogn)o(n的平方) |
快速排序 | o(nlogn)--------o(nlogn)--------o(n的平方) |
堆排序 | o(nlogn)--------o(nlogn)--------o(nlogn) |
归并排序 | o(nlogn)--------o(nlogn)--------o(nlogn) |
基数排序 | o(d(n+rd))--------o(d(n+rd))--------o(d(n+rd)) |
算法 | 空间复杂度 |
---|---|
直接插入排序 | o(1) |
冒泡排序 | o(1) |
选择排序 | o(1) |
希尔排序 | o(1) |
快速排序 | o(logn) |
堆排序 | o(1) |
归并排序 | o(n) |
基数排序 | o(rd) |
算法 | 稳定性 |
---|---|
直接插入排序 | 是 |
冒泡排序 | 是 |
选择排序 | 否 |
希尔排序 | 否 |
快速排序 | 否 |
堆排序 | 否 |
归并排序 | 是 |
基数排序 | 是 |