-
圖解選擇排序(Selection Sort)
-
圖解冒泡排序(Bubble Sort)
-
圖解插入排序(Insertion Sort)
-
圖解希爾排序(Shell Sort)
-
圖解快速排序(Quick Sort)
-
圖解歸併排序(Merge Sort)
-
圖解堆排序(Heap Sort)
-
圖解計數排序(Counting Sort)
-
圖解桶排序(Bucket Sort)
-
圖解基數排序(Radix Sort)
-
排序算法穩定性的意義
-
排列的逆序數
排序算法可以分爲內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。主要介紹內部排序算法。
算法分類
十種常見排序算法可以分爲兩大類:
- 比較類排序:通過比較來決定元素間的相對次序,由於其時間複雜度不能突破O(nlogn),因此也稱爲非線性時間比較類排序。
- 非比較類排序:不通過比較來決定元素間的相對次序,它可以突破基於比較排序的時間下界,以線性時間運行,因此也稱爲線性時間非比較類排序。
算法複雜度
相關概念介紹
- 穩定:如果a原本在b前面,而a=b,排序之後a仍然在b的前面。
- 不穩定:如果a原本在b的前面,而a=b,排序之後 a 可能會出現在 b 的後面。
- 時間複雜度:對排序數據的總的操作次數。反映當n變化時,操作次數呈現什麼規律。
- 空間複雜度:是指算法在計算機內執行時所需存儲空間的度量,它也是數據規模n的函數。