喜歡互聯網技術的同學,一定要關注我哦!
上一期,講述了關於冒泡排序算法的實現及優化
傳送門:《 》
這一期,我將講述另一種排序算法,那就是直接插入排序。
直接插入排序是插入排序中的最簡單的排序方法,類似於玩紙牌那樣,
基本思想是:依次將待排序序列中的每一個記錄插入到一個已排好序的序列中,直到全部記錄都排好序!
圖解直接插入排序算法
(1)首先,將整個序列分成已經有序的序列和無序的序列,初始化將第一個元素為有序區,無序區則是剩下的所有元素。
(2)再次,將無序區的第一個記錄插入到有序區的合適位置中,從而使無序區減少一個記錄,有序區增加一個記錄。
(3)重複執行步驟2,直到無序區為空!
Java語言實現直接插入排序算法
結果測試:為了方便測試,採用隨機生成整數放進數組。
結果明顯符合期望!
直接插入排序:在最好情況下,待排序序列已經為正序,則時間複雜度為O(n),最壞情況下,時間複雜度為O(n*n),平均情況下也是O(n*n)。
下次將會講解其他排序算法的細節及實現,感興趣的同學一定要關注哦!
閱讀更多 猿小生 的文章