有一個已經有序的數據序列,要求在這個已經排好的數據序列中插入一個數,但要求插入后此數據序列仍然有序,這個時候就要用到一種新的排序方法——插入排序算法。插入排序的基本操作就是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據,算法適用于少量數據的排序。
插入排序的java實現:
1 package com.mianshi.easy; 2 public class Insert { 3 4 public static void main(String[] args) { 5 int[] a = {3,21,2,15,14,16,9,8,7}; 6 7 insertSort(a); 8 9 for(int i = 0; i < a.length; i++){10 System.out.算法實現圖示:(根據上面實現算法結合圖一起看好點)

時間復雜度:平均時間復雜度為
。
插入排序不適合對于數據量比較大的排序應用。但是,若需要排序的數據量很小,例如:量級小于千,那么插入排序還是一個不錯的選擇。
算法穩定性:穩定的排序算法。
插入排序是在一個已經有序的小序列的基礎上,一次插入一個元素。當然,剛開始這個有序的小序列只有1個元素,就是第一個元素。比較是從有序序列的末尾開始,也就是想要插入的元素和已經有序的最大者開始比起,如果比它大則直接插入在其后面,否則一直往前找直到找到它該插入的位置。如果碰見一個和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后順序沒有改變,從原無序序列出去的順序就是排好序后的順序,所以插入排序是穩定的。
新聞熱點
疑難解答