1、氣泡排序:依次比較相鄰元素的值,若發現逆序則交換,使值較大的元素逐漸從前移向後部(或者後部)
2、選擇排序:以首元素開始為要交換的元素,迴圈找到未排序的元素中最小的元素與要交換的元素進行交換。要交換元素為未排序元素的第乙個,每次加一。
主要**:
3、插入排序:把待排序的元素看成 以第乙個元素看成乙個無序表 ,其他元素看成是無需表的情況下。在無序表中遍歷每乙個元素,把遍歷的這個元素放到有序表的正確位置。
主要**:
4、希爾排序:對要排序的陣列進行增量分組,再對每組進行排序(直接插入排序演算法排序)。直到增量減少到1,時候整整組排序完成。
主要**:
方法一:逐步推到
方法二:移位法(對方法一優化)
5、歸併排序:採用分治策略。將元素拆分至單一,再進行排序,然後合併(按照排序順序合併)。
合的過程:
主要**:
6、基數排序(桶排序):類似於雜湊表。將所有待比較數值統一為同樣的數字長度,數字較短的數前面補零。然後,從最低位開始,依次進行一次排序。這樣從最低位排序一直到最高位排序完成以後, 數列就變成乙個有序序列。
主要**:
排序對比:
排序演算法學習筆記
直接插入 二分法插入 希爾插入 氣泡排序 快速排序 插入排序是一種遞迴思想,由n 1趟排序組成。初始時,只考慮陣列下標0,只有乙個元素,預設是有序的。然後第一趟 對下標為1的元素進行排序,保證陣列 0,1 上的元素有序 第二趟 對下標2處的元素進行排序,保證陣列 0,2 上的元素有序 第n 1趟對下...
排序演算法學習整理三(插入)
三 插入排序 插入排序是一種非常簡單的排序,它的實現難度低於冒泡和選擇。我第乙個for迴圈寫出的排序就是插入排序 插入排序類似整理撲克牌,將每一張牌插到其他已經有序的牌中適當的位置。基本思想 插入排序由n 1趟排序組成,對於p 1到n 1趟,插入排序保證從位置0到位置p上的元素為已排序狀態。簡單的說...
排序演算法學習整理二(選擇)
二 選擇排序 選擇排序十分的簡單和直觀,其的工作原理是每一次從待排序的陣列中選出最小 或最大 的乙個元素,存放在序列的起始位置。因此,選擇排序也是像我們這種萌新最容易寫出來的排序演算法。排序步驟 選出最小的元素 放在陣列最前面 選出第二小的元素 放在第二位 重複如此直到完成排序 下面舉個栗子 有乙個...