常用排序算法的性能比较

排序算法最好情况时间复杂度时间复杂度最坏情况时间复杂度辅助空间稳定性
直接插入 O(n) O(n^{2}) O(n^{2}) O(1) 稳定
简单选择 O(n^{2}) O(n^{2}) O(n^{2}) O(1) 不稳定
冒泡排序 O(n) O(n^{2}) O(n^{2}) O(1) 稳定
希尔排序 ----- O(n^{1.3}) ------ O(1) 不稳定
快速排序 O(nlog_{}2 n ) O(nlog_{}2 n ) O(n^{2}) O(log n)-O(n) 不稳定
堆排序 O(nlog_{}2 n ) O(nlog_{}2 n ) O(nlog_{}2 n ) O(1) 不稳定
归并排序 O(nlog_{}2 n ) O(nlog_{}2 n ) O(nlog_{}2 n ) O(n)​​​​​​​  稳定

摘选《程序员教程第五版》

原文地址:https://www.cnblogs.com/brainstorm-yc/p/11681800.html