1. 程式人生 > >【c++】排序方法及記憶

【c++】排序方法及記憶

1、演算法分類

2、演算法複雜度

穩定:如果a原本在b前面,而a=b,排序之後a仍然在b的前面。

不穩定:如果a原本在b的前面,而a=b,排序之後 a 可能會出現在 b 的後面。

時間複雜度:對排序資料的總的操作次數。反映當n變化時,操作次數呈現什麼規律。

空間複雜度:是指演算法在計算機內執行時所需儲存空間的度量,它也是資料規模n的函式。 

記憶方式:

1.關於穩定性:

不穩定:快選堆希(快速排序、選擇排序、堆排序、希爾排序)

穩    定:插冒歸計基(簡單插入排序、氣泡排序、歸併排序、計數排序、基數排序)

2.關於移動次數和關鍵字順序無關的排序

順口溜:一堆(堆排序)海龜(歸併排序)選(選擇排序)基(基數排序)友

1、總排序趟數與初始狀態無關的有:(除了快速排序和優化的冒泡,其他都是)

2、演算法複雜度與初始狀態無關的有:堆排序歸併排序選擇排序基數排序

3、元素總比較次數與初始狀態無關的有:選擇排序基數排序

4、元素總移動次數與初始狀態無關的有:歸併排序基數排序