十大排序算法的时间复杂度和空间复杂度对比
排序方法 | 时间复杂度(平均) | 时间复杂度(最好) | 时间复杂度(最坏) | 控件复杂度 | 稳定性 |
---|---|---|---|---|---|
冒泡排序 | O(n²) | O(n²) | O(n) | O(1) | 稳定 |
选择排序 | O(n²) | O(n²) | O(n²) | O(1) | 不稳定 |
插入排序 | O(n²) | O(n²) | O(n) | O(1) | 稳定 |
快速排序 | O(n㏒n) | O(n㏒n) | O(n㏒n) | O(1) | 不稳定 |
归并排序 | O(n㏒n) | O(n㏒n) | O(n㏒n) | O(n) | 稳定 |
堆排序 | O(n㏒n) | O(n㏒n) | O(n㏒n) | O(1) | 不稳定 |
希尔排序 | O(n¹·³) | O(n²) | O()n | O(1) | 不稳定 |
计数排序 | O(n+k) | O(n+k) | O(n+k) | O(n+k) | 稳定 |
基数排序 | O(n*k) | O(n*k) | O(n*k) | O(n+k) | 稳定 |
桶排序 | O(n+k) | O(n²) | O(n) | O(n+k) | 稳定 |