八大排序的特点以及在何种情况下哪种排序方法有优势

排序方法/特点 稳定性 时间复杂度  
冒泡排序 稳定 O(n^2)  
直接插入排序 稳定 O(n^2)  
希尔排序 不稳定 O(n^1.3)  
选择排序 不稳定 O(n^2)  
快速排序 不稳定  O(nlog2 n)  
堆排序 不稳定 O(nlogn)  
归并排序 稳定 O(nlog2 n)  
基数排序 稳定 O(kn)  

从平均情况看:堆排序、归并排序、快速排序胜过希尔排序。

从最好情况看:冒泡排序和直接插入排序更胜一筹。

从最差情况看:堆排序和归并排序强过快速排序。

虽然直接插入排序和冒泡排序速度比较慢,但是当初始序列整体或局部有序是,这两种算法的效率比较高。当初始序列整体或局部有序时,快速排序算法效率会下降。当排序序列较小且不要求稳定性是,直接排序效率较好;要求稳定性时,冒泡排序法效率较好

你可能感兴趣的:(八大排序的特点以及在何种情况下哪种排序方法有优势)