常用排序演算法總結

2021-09-13 22:28:29 字數 780 閱讀 8888

排序是計算機內經常進行的一種操作,其目的是將一組「無序」的記錄序列調整為「有序」的記錄序列。

輸入:n個數:a1,a2,a3,…,an

輸出:n個數的排列:a1』,a2』,a3』,…,an』,使得a1』<=a2』<=a3』<=…<=an』。

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

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

內排序:所有排序操作都在記憶體中完成;

外排序:由於資料太大,因此把資料放在磁碟中,而排序通過磁碟和記憶體的資料傳輸才能進行;

時間複雜度:乙個演算法執行所耗費的時間。

空間複雜度:執行完乙個程式所需記憶體的大小。

關於時間空間複雜度的詳細介紹請看booirror的詳細解釋

選擇排序

插入排序

氣泡排序

希爾排序

歸併排序

快速排序

堆排序計數排序(稍後更新)

桶排序(稍後更新)

基數排序(稍後更新)

密碼見原文

常用排序演算法總結

總結些常見的排序演算法,方便以後可以重用。資料量不大,為了表達方便就直接使用了陣列。int data null data new int 1.氣泡排序 氣泡排序,從小到大排序 for int i 0 i data.length i 氣泡排序就是說,排序的過程像水裡往上冒的氣泡一樣,每個數字代表乙個氣...

常用排序演算法總結

常用排序演算法總結 選擇排序 對於長度為n的陣列,選擇排序需要大約n2 2詞比較和n次交換。插入排序 對於隨機排列的長度為n且主鍵不重複的陣列 1 平均情況下,需要 n2 4次比較以及 n2 4次交換。2 最壞情況下,需要 n2 2次比較以及 n2 2次交換 3 最好情況下,需要n 1次比較以及0次...

常用排序演算法總結

注 所有排序都是寫的由小到大排序的情況 1.插入排序 1 直接插入排序 穩定 arr sortedindex 1 key 注意這裡的下標 sortedindex 1 2 希爾排序 不穩定 希爾排序好的增量序列的共同特徵 希爾排序演算法 fromid 1801475 type syn 最後乙個增量必須...