常用排序算法的复杂度

常用排序算法复杂度
排序算法 平均时间复杂度 最坏情况 最好情况 空间复杂度 稳定性 复杂性
插入排序 O(n^2) O(n^2) O(n) O(1) 稳定 简单
希尔排序 O(n^1.3) O (n^2) O(n) O(1) 不稳定 较复杂
选择排序 O (n^2) O (n^2) O (n^2) O(1) 不稳定 简单
堆排序 O(NlogN) O(NlogN) O(NlogN) O(1) 不稳定 较复杂
冒泡排序 O(n^2) O(n^2) O (n) O(1) 稳定 简单
快速排序 O(NlogN) O(n^2) O(NlogN) O(NlogN) 不稳定 较复杂
归并排序 O(NlogN) O(NlogN) O(NlogN) O(N) 稳定 较复杂
             
计数排序 O(n+k) O(n+k) O(n+k) O(n+k) 稳定  
桶排序 O(n+k) O(n^2) O(n) O(n+k) 稳定  
基数排序 O (n*k) O (n*k) O (n*k) O(n+k) 稳定 较复杂

常用排序算法的复杂度