常用排序算法对比

排序方法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度 稳定性 比较次数(最坏) 比较次数(最好)
冒泡排序 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)           
原文地址:https://www.cnblogs.com/bboy110/p/14490225.html