1. 基本排序算法性能:
类别 | 排序方法 | 时间复杂度 | 空间复杂度 | 稳定性 | ||
平均情况 | 最好情况 | 最坏情况 | 辅助存储 | |||
插入排序 | 直接插入排序 | O( n2 ) | O( n ) | O( n2 ) | O( 1 ) | 稳定 |
希尔排序 | O( n1.3 ) | O( n ) | O( n2 ) | O( 1 ) | 不稳定 | |
选择排序 | 直接选择排序 | O( n2 ) | O( n2 ) | O( n2 ) | O( 1 ) | 不稳定 |
堆排序 | O( nlogn ) | O( nlogn ) | O( nlogn ) | O( 1 ) | 不稳定 | |
交换排序 | 冒泡排序 | O( n2 ) | O( n ) | O( n2 ) | O( 1 ) | 稳定 |
快速排序 | O( nlogn ) | O( nlogn ) | O( n2 ) | O( nlogn ) | 不稳定 | |
归并排序 | O( nlogn ) | O( nlogn ) | O( nlogn ) | O( n ) | 稳定 | |
基数排序 | O( d(r+n) ) | O( d(n+rd) ) | O( rd+n ) | O( n2 ) | 稳定 |
注:基数排序的复杂度中,r代表关键字的基数,d代表长度,n代表关键字的个数