八大排序演算法的一句話總結之一插入排序

2021-07-24 07:46:49 字數 715 閱讀 3427

後移空位即將a[插入位置]到a[當前判斷數字]之間的陣列都向後移一位覆蓋a[當前判斷數字],然後空出a[插入位置]。

空位插入即將a[當前判斷數字]插入到空出的a[插入位置],當然在後移空位前需要設定臨時變數儲存a[當前判斷數字]。

然後希爾排序

(即縮小增量排序)

則是將陣列不斷取增量d將陣列分為

a[0+d],a[0+2d],a[0+3d]..直到nd

a[1+d],a[1+2d],a[1+3d]..直到1+nd

.........

a[d-1+d],a[d-1+2d],a[d-1+3d]..直到d-1+nd

然後分別對以上陣列執行直接排序,隨著增量d的減小至1,陣列就會回到開始的狀態a[0],a[1].....a[length]。

這時陣列完成排序,形成有序陣列。然後增量d為方便計算最初取值為a.length/2,之後不斷d=d/2即不斷除二取整。

當然,關於增量d的取值影響排序效率,有興趣的可自行研究。

最後,希爾排序可以總結為

增量分組,分別排序,增量減半,不斷重複,直至為一。

最後,以上內容結合**更易理解,請自行摸摸度娘。

十大排序演算法一句話概括

氣泡排序 兩個相鄰元素比較,如果順序相反則交換位置。插入排序 假設前面的數字都已經排好序,再向有序陣列中插入乙個元素,使得插入後的陣列有序。選擇排序 選擇未排序陣列中最大或者最小的陣列放在前面。希爾排序 按照增量不同,進行多次插入排序。歸併排序 將兩個有序的陣列合併成乙個有序的陣列,運用分治演算法的...

八大排序演算法之一插入排序

基本思想 將乙個記錄插入到已排序好的有序表中,從而得到乙個新,記錄數增1的有序表。即 先將序列的第1個記錄看成是乙個有序的子串行,然後從第2個記錄逐個進行插入,直至整個序列有序為止。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。如果碰見乙個和插入元素相等的,那麼插入元素把想插入的元素放在相等元素的...

一句話總結K均值演算法

一句話總結k均值演算法 核心 把樣本分配到離它最近的類中心所屬的類,類中心由屬於這個類的所有樣本確定。k均值演算法是一種無監督的聚類演算法。演算法將每個樣本分配到離它最近的那個類中心所代表的類,而類中心的確定又依賴於樣本的分配方案。這是乙個先有雞還是先有蛋的問題。在實現時,先隨機初始化每個類的類中心...