插入排序和希爾排序

2021-10-04 02:51:00 字數 1482 閱讀 4532

1. 直接插入排序

2. 折半(二分)插入排序

3. 希爾排序(縮小增量排序)

插入排序包含直接插入排序、折半插入排序、希爾排序

資料結構中的插入排序主要包括直接插入排序、折半插入排序、希爾排序等等,其基本思想是每次將乙個待排序的記錄按關鍵字大小插入到前面已排好序的子串行中,直到全部記錄都插入完成,因此空間複雜度都是o(1),而時間複雜度各有不同。

直接插入排序是一種穩定排序,平均時間複雜度:o(n²),空間複雜度:o(1),基本思想:在乙個陣列中,將後面無序的關鍵字插入到前面已經有序的子串行中,注:a陣列從1開始存放關鍵字,a[0]用於存放交換的關鍵字

折半插入排序是一種穩定排序,平均時間複雜度:o(n²),空間複雜度:o(1),基本思想:將查詢和移動操作分開,在已經排好序的子串行中用折半查詢找出元素的插入位置,然後統一移動插入位置之後的所有元素,給要插入的元素留出乙個空位

)//統一移動

希爾排序(縮小增量排序),是一種不穩定的排序演算法,把序列分成相隔距離為d的子串行,把這些相隔距離的關鍵字組成乙個子表,然後對其進行直接插入排序,最差時間複雜度為o(n²),最好時間複雜度為o(n(1.3)),空間複雜度為o(1)

插入排序和希爾排序

插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,插入排序的基本思想是 每步將乙個待排序的紀錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。public static void sortins...

插入排序和希爾排序

1.首先,排序按類來分有插入排序 選擇排序 交換排序和歸併排序,而插入排序又分為直接插入排序和希爾 shell 排序 選擇排序類又分為選擇排序和堆排序,交換排序分為氣泡排序和快速排序,今天主要分享插入排序和希爾排序。2.插入排序概念 插入排序 對乙個陣列中的數,比較大小,假設它是公升序排列,認為它的...

插入排序和希爾排序

author shenqi date 2018 1 15.插入排序 每步將乙個待排序的記錄,按其順序碼大小插入到前面已經排序的字序列的合適位置 從後向前找到合適位置後 直到全部插入排序完為止。從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 ...