1. 程式人生 > >九大排序演算法

九大排序演算法

概述排序有內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。

當n較大,則應採用時間複雜度為O(nlog2n)的排序方法:快速排序、堆排序或歸併排序序。

快速排序:是目前基於比較的內部排序中被認為是最好的方法,當待排序的關鍵字是隨機分佈時,快速排序的平均時間最短;

 

排序演算法(一):直接插入排序

優點:

缺點:

優化:

排序演算法(二):希爾排序

優點:
缺點:
優化:

排序演算法(三):簡單選擇排序

優點:
缺點:
優化:

最下值和最大值同時查詢

排序演算法(四):堆排序

優點:
缺點:
優化:

排序演算法(五):氣泡排序

優點:
缺點:
優化:

  1. 設定是否交換的標誌exchange
  2. 設定最後一次交換的位置
  3. 同時交換最大值和最小值

排序演算法(六):快速排序

優點:
缺點:
優化:

  1. 三數取中法 
  2. 當待排序序列的長度分割到一定大小後,使用插入排序
  3. 取隨機基數

排序演算法(七):歸併排序

優點:
缺點:
優化:

排序演算法(八):桶排序/基數排序

優點:
缺點:
優化:

 

參考博文:

https://www.cnblogs.com/openeim/p/3921645.html

https://www.cnblogs.com/zhaoshuai1215/p/3448154.html