6.3 排序算法的比较总结
算法 最好时间 最坏时间 平均时间 空间 稳定性 原地
冒泡排序 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 log n) O(n^(4/3)) 取决于序列 O(1) 不稳定
堆排序 O(n log n) O(n log n) O(n log n) O(1) 不稳定
快速排序 O(n log n) O(n²) O(n log n) O(log n) 不稳定
归并排序 O(n log n) O(n log n) O(n log n) O(n) 稳定
鸡尾酒排序 O(n) O(n²) O(n²) O(1) 稳定
猴子排序 O(n) 无界 O((n+1)!) O(1) 不稳定
桶排序 O(n+k) O(n²) O(n+k) O(n+k) 稳定
基数排序 O(d(n+k)) O(d(n+k)) O(d(n+k)) O(n+k) 稳定