各种排序算法之间的比较
排序算法 | 平均时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 内存占用 | 稳定性 |
---|---|---|---|---|---|---|
冒泡排序 | 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(n1.3) | O(n) | O(n²) | O(1) | ||
归并排序 | O(n log n) | O(n log n) | O(n log n) | O(n) | 是 | 稳定 |
快速排序 | O(n log n) | O(n log n) | O(n²) | O(log n)~O(n) | ||
堆排序 | O(n log n) | O(n log n) | O(n log n) | O(1) | ||
基数排序 | O(n * k),k是维度 | O(n * k) | O(n * k) | O(n + k) | 是 | 稳定 |