各种内排序算法性能比较(个人总结)
稳定性 | 最好情况 | 最坏情况 | 平均 | 空间复杂度 | 确定最终位置 |
---|---|---|---|---|---|
简单选择排序 (属于选择排序) | 不稳定 | O(n²) n-1 趟 | O(n²) n-1 趟 | O(n²) n-1 趟 | O(1) |
直接插入排序 | 稳定 | O(n) n-1 趟 | O(n²) n-1 趟 (反向有序) | O(n²) n-1 趟 | O(1) |
冒泡排序 (属于交换排序) | 稳定 | O(n) 1 趟 | O(n²) n-1 趟 | O(n²) n/2 趟 | O(1) |
快速排序 (属于交换排序) | 不稳定 | O(nlog2 底 n) | O(n²) n-1 趟 (正向 / 反向有序) | O(nlog2 底 n) | O(log2 底 n)~O(n) |
两路合并排序 | 稳定 | O(nlog2 底 n)log2 底 n 向上取整 趟 | O(nlog2 底 n) log2 底 n 向上取整 趟 | O(nlog2 底 n) log2 底 n 向上取整 趟 | O(n) |
堆排序 (属于选择排序) | 不稳定 | O(nlog2 底 n) n-1 趟 | O(nlog2 底 n) n-1 趟 | O(nlog2 底 n) n-1 趟 | O(1) |
版权声明:本文为博主原创文章,如有错误,恳请大家在评论区指出,在下不胜感激~如要转载注明出处即可~
本文首发于个人博客:Wonz の Blog 。