1,演算法簡介
插入排序的工作原理就是將未排序資料,對已排序資料序列從後向前掃瞄,找到對應的位置並插入。插入排序通常採用佔位的形式,空間複雜度為o(1),因此,在從後向前掃瞄的過程中,需要反覆的把已排序的元素逐步向後挪位,為新插入元素提供插入的位置。
2,演算法描述
1)從第乙個元素開始,該元素可以被認為已經被排序
2)取出下乙個元素,在已經排好序的序列中從後往前掃瞄
3)直到找到小於或者等於該元素的位置
4)將該位置後面的所有已排序的元素從後往前依次移一位
5)將該元素插入到該位置
6)重複步驟2~5
理解步驟看注釋
//插入排序 o(n*n)
function mysort3(arr)
// 直到while迴圈不滿足條件才會執行
arr[j + 1] = current;
} return arr
}let arr3 = [5, 7, 9, 3, 4, 5, 6, 1, 2, 3, 7, 5, 4, 1, 2]
console.log('插入排序:', mysort3(arr3))
對插入排序的理解
public class insertsort array j temp 一直移動到比temp值小為止,資料插入 1 for 迴圈控制的是假定的插入值 因此根據演算法思路,i 的初始值為1。把下標為i 的資料存入臨時變數temp中,遍歷陣列內除第乙個資料外的全部資料。2 while迴圈用來判斷比較 ...
Js 排序演算法 插入排序
將記錄按其關鍵字得大小插入到乙個有序的記錄序列中,插入後仍有序 從待排序的n個記錄中的第二個記錄開始,依次與前面的記錄比較並尋找插入的位置,每次外迴圈結束後,將當前的數插入到合適的位置。特點 n值較小的時候效率高 n較大時,若待排的記錄按關鍵字基本有序時效率仍然較高。穩定性 穩定排序。最好情況 當待...
js排序演算法詳解 插入排序
js系列教程5 資料結構和演算法全解 插入排序的原理其實很好理解,可以模擬選擇排序。選擇排序時在兩個空間進行,等於說每次從舊的空間選出最值放到新的空間,而插入排序則是在同一空間進行。可以這麼理解,在乙個陣列中我們不知道哪個是最小值,那麼就假定第乙個就是最小值,然後取第二個值與第乙個值比較產排序後的序...