一文搞定十大排序算法(动画图解)
一文搞定十大排序算法(動畫圖解)
排序算法是測試開發(fā)技術面試中的??碱}目 ,本文用動畫圖解面試必會十大排序算法,由淺入深 、形象記憶 ,再也忘不掉 。
排序基礎知識
排序的定義
排序,就是重新排列表中的元素,使表中的元素滿足按關鍵字遞增或遞減的過程。為了査找方便,通常要求計算機中的表是按關鍵字有序的。
排序的確切定義如下:
輸入: n個記錄 R1
,R2 ,R3…Rn, 對應的關鍵字為 K1,K2,K3…Kn 輸出: 輸入序列的一個重排R1’
,R2’,R3’…Rn’, 使得有K1’ K2’ K3’… Kn’ (其中 可以換成其它的比較大小符號) 。算法的穩(wěn)定性 :
若待排序表中有兩個元素 Ri 和 Rj,其對應的關鍵字 keyi = kcyj , 且在排序前 Ri 在 Rj 的前面。使用某一排序算法排序后 ,Ri 仍然在 Rj 的前面盡的前面 ,則稱這個排序算法是穩(wěn)定的。否則稱排序算法是不穩(wěn)定的。
需要注意的是,算法是否具有穩(wěn)定性并不能衡量—個算法的優(yōu)劣