天天看點

十大經典排序算法總結0

0、算法概述

0.1 算法分類

十種常見排序算法可以分為兩大類:

  • 比較類排序:通過比較來決定元素間的相對次序,由于其時間複雜度不能突破O(nlogn),是以也稱為非線性時間比較類排序。
  • 非比較類排序:不通過比較來決定元素間的相對次序,它可以突破基于比較排序的時間下界,以線性時間運作,是以也稱為線性時間非比較類排序。
十大經典排序算法總結0

0.2 算法複雜度

十大經典排序算法總結0

0.3 相關概念 

  • 穩定:如果a原本在b前面,而a=b,排序之後a仍然在b的前面。
  • 不穩定:如果a原本在b的前面,而a=b,排序之後 a 可能會出現在 b 的後面。
  • 内排序:所有排序操作都在記憶體中完成;
  • 外排序:由于資料太大,是以把資料放在磁盤中,而排序通過磁盤和記憶體的資料傳輸才能進行;
  • 時間複雜度:對排序資料的總的操作次數。反映當n變化時,操作次數呈現什麼規律。
  • 空間複雜度:是指算法在計算機内執行時所需存儲空間的度量,它也是資料規模n的函數。

後續具體算法詳見本專題分類...

參考資料:

          【1】    https://blog.csdn.net/MoreWindows/column/info/algorithm-easyword

          【2】   https://www.cnblogs.com/onepixel/articles/7674659.html

          【3】   https://blog.csdn.net/hellozhxy/article/details/79911867