排序演算法小結

2021-10-19 11:39:46 字數 504 閱讀 2598

1.氣泡排序是比較相鄰位置的兩個數,而選擇排序是按順序比較,找最大值或者最小值;

2.氣泡排序每一輪比較後,位置不對都需要換位置,選擇排序每一輪比較都只需要換一次位置;

3.氣泡排序是通過數去找位置,選擇排序是給定位置去找數;

4.插入是把無序的插到有序的陣列中,兩兩比較後,直接賦值。

5.希爾排序就是在插入排序的基礎上加了乙個gap跳躍間隔,以減少插入排序的次數。

1.優點:比較簡單,空間複雜度較低,是穩定的;

1.優點:一輪比較只需要換一次位置;

1.優點:穩定;

1.優點:相對較快;

插入和冒泡最佳時間複雜度都是o(n),且穩定,插入排序最佳時間複雜度是o(n^2),且不穩定。對於冒泡和插入,冒泡是兩兩交換資料,插入是直接賦值,因此插入要比冒泡好。希爾雖然在插入上進行了改進,但是不穩定。

參考:

排序演算法小結

1 快速排序 quicksort 快速排序是乙個就地排序,分而治之,大規模遞迴的演算法。從本質上來說,它是歸併排序的就地版本。快速排序可以由下面四步組成。1 如果不多於1個資料,直接返回。2 一般選擇序列最左邊的值作為支點資料。3 將序列分成2部分,一部分都大於支點資料,另外一部分都小於支點資料。4...

排序演算法小結

1 歸併排序 3.區別與聯絡 遞迴是從未知推到已知,相當於把未知的東西壓入棧,等到可以算出結果了,就一步一步出棧。迭代是從已知到未知,從已知的東西一步一步推至目標。遞迴與迭代就好像一對逆元。遞迴的 更加清晰,但開銷更大,也更容易出錯,除錯較困難 而迭代的 編寫更困難,但速度和開銷較小。4.空間占用 ...

排序演算法小結

演算法過程 假設乙個無序的序列,該演算法將其分成兩部分,前一部分已經完成排序 有序,一開始時只有乙個元素 後一部分任然無序,將後面序列選擇第乙個插入到前面的有序序列,如此直到所有完全有序。複雜度 最簡單的即為,整個序列原來即有序,按照一種最 省事 的方式,我們僅需比較n 1次即可。最複雜的情況,應該...