如何選擇排序算法


1 排序算法有那么多,如何根據業務選擇合適的排序算法

2 各排序算法的優缺點比較

2.1 快速排序

當待排序元素的關鍵字隨機分布時,快速排序的平均時間最短。快速排序比堆排序和歸並排序要快2到3倍。

快速排序會出現最壞情況。

快速排序是不穩定的。

2.2 堆排序

不會出現最壞情況。

2.3 簡單插入排序

當待排序序列基本有序時,可以使用簡單插入排序。

2.4 歸並排序

歸並排序是穩定的,但是需要一個同樣大小的存儲空間。

歸並排序用遞歸實現,核心過程是將兩個已經有序的數組歸並成一個大的有序數組,只需要同時遍歷比較即可。

 

3 排序算法按照時間復雜度進行的分類

3.1 平方排序

直接插入排序、直接選擇排序、冒泡排序

3.2 線性對數排序

快速排序、堆排序

3.3 線性排序

桶排序、基數排序

4 穩定排序

排序前后,key相同的元素的相對位置不變,歸並排序是穩定排序。當對多個key進行多輪排序時,就用得上穩定排序。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM