各种排序算法的比较(最好、最差、平均时间复杂度,空间复杂度,稳定性)

对比表格

分类 算法 时间复杂度 空间复杂度       稳定性           关联性       
最好          最差        平均      
插入排序        直接插入排序      O(n)(优化后)     O(n2)           O(n2)           O(1) 稳定  
希尔排序 O(n) O(n2) 不确定 O(1) 不稳定 基于直接插入排序    
选择排序 直接选择排序 O(n2) O(n2) O(n2) O(1) 不稳定  
堆排序 O(nlogn) O(nlogn) O(nlogn)

就地排序-O(1)   

不稳定 应用了选择的理念
交换排序 冒泡排序 O(n)(优化后) O(n2) O(n2) O(1) 稳定  
快速排序 O(nlogn) O(n2) O(nlogn)

最好O(logn),

最差O(n) 

不稳定 基于冒泡排序
归并排序 O(nlogn) O(nlogn) O(nlogn) O(n) 稳定  
基数排序

O(d*(n+r))

d是位数,r是基数,

n是比较的数目

O(d*(n+r)) O(d*(n+r)) O(n+r) 稳定  
原文地址:https://www.cnblogs.com/mydesky2012/p/5648087.html