排序演算法之插入排序

2021-08-02 07:20:44 字數 562 閱讀 7822

下面來談論一下插入排序。

顧名思義,這個一看就是通過插入數字來完成排序的演算法啦;廢話不多說,下面是實現**:

1、插入排序:

當插入第i(

i≥1)

個物件時,前面的

資料已經保證都已經排好序了,這個時候把通過把a[i]與前面的a[i - 1], a[i - 2]...比較,然後將a[i]插入到乙個正確的位置。原來位置上的資料挨個後移。這樣就實現了插入排序。

2、插入排序也是一種比較排序的演算法。

3、插入排序是一種穩定的排序演算法。

4、插入排序最好的情況是一開始就已經是正確的順序,那麼只需要進行n-1次比較,移動次數為0次,其時間複雜度為o(n);

最壞的情況是反序,這樣就需要n(n - 1) / 2次比較,以及n(n - 1) / 2次比較,時間複雜度為o(n ^ 2)。

排序演算法之插入排序

排序演算法之插入排序 1 插入排序的思想 假設在乙個有序序列中 e 0 e i 1 這i 個元素已經排好序,則當要將第 i 1個元素 e 插入該序列時,只需將第 i 1個元素與從 e 0 開始到e i 1 元素進行比較,當發現第 j個元素 e j 在序列中應在 e 前,且 e j 1 應在e 後時,...

排序演算法之插入排序

排序演算法之插入排序 1 插入排序的思想 假設在乙個有序序列中 e 0 e i 1 這i 個元素已經排好序,則當要將第 i 1個元素 e 插入該序列時,只需將第 i 1個元素與從 e 0 開始到e i 1 元素進行比較,當發現第 j個元素 e j 在序列中應在 e 前,且 e j 1 應在e 後時,...

排序演算法之插入排序

本節主要分析插入排序演算法的直接插入排序和希爾 shell 排序 又稱縮小增量排序 1.直接插入排序 該排序是最簡單的排序方法,其基本思想是 假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直至i n為止,依次將r i 插入當前的有序區r 1....