常用排序算法复杂度 | ||||||
排序算法 | 平均时间复杂度 | 最坏情况 | 最好情况 | 空间复杂度 | 稳定性 | 复杂性 |
插入排序 | O(n^2) | O(n^2) | O(n) | O(1) | 稳定 | 简单 |
希尔排序 | O(n^1.3) | O (n^2) | O(n) | O(1) | 不稳定 | 较复杂 |
选择排序 | O (n^2) | O (n^2) | O (n^2) | O(1) | 不稳定 | 简单 |
堆排序 | O(NlogN) | O(NlogN) | O(NlogN) | O(1) | 不稳定 | 较复杂 |
冒泡排序 | O(n^2) | O(n^2) | O (n) | O(1) | 稳定 | 简单 |
快速排序 | O(NlogN) | O(n^2) | O(NlogN) | O(NlogN) | 不稳定 | 较复杂 |
归并排序 | O(NlogN) | O(NlogN) | O(NlogN) | O(N) | 稳定 | 较复杂 |
计数排序 | O(n+k) | O(n+k) | O(n+k) | O(n+k) | 稳定 | |
桶排序 | O(n+k) | O(n^2) | O(n) | O(n+k) | 稳定 | |
基数排序 | O (n*k) | O (n*k) | O (n*k) | O(n+k) | 稳定 | 较复杂 |