常用排序算法对比

排序方法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度 稳定性 比较次数(最坏) 比较次数(最好)
冒泡排序 O(n2) O(n2) O(n) O(1) 稳定 n(n - 1)/2 n-1
选择排序 O(n2) O(n2) O(n2) O(1) 不稳定 n(n - 1)/2  
插入排序 O(n2) O(n2) O(n) O(1) 稳定 n(n - 1)/2 n-1
希尔排序 O(n1.3) O(n1.5) O(n) O(1) 不稳定    
快速排序 O(nlog2n) O(n2) O(nlog2n) O(nlog2n) 不稳定 n(n - 1)/2  
归并排序 O(nlog2n) O(nlog2n) O(nlog2n) O(n) 稳定 2n-1  
堆排序 O(nlog2n) O(nlog2n) O(nlog2n) O(1) 不稳定    
基数排序 O(n*k) O(n*k) O(n*k) O(n*k) 稳定    
二分法   O(log2n)          

顺序查找

  O(n)          

寻找最大项

  O(n-1)           
posted @ 2021-03-06 12:29  bk街头狂舞  阅读(44)  评论(0编辑  收藏  举报