直接插入排序與希爾排序

2021-09-25 09:27:23 字數 858 閱讀 6229

package basicknowledge.sort;

/** * @program:summary

* @author:peicc

* @create:2019-07-18 16:46:07

**///插入排序

//將未排序的資料插入到已排序的資料系列之中

//時間複雜度o(n2):1+2+3+...+n-1

//最優:o(n):陣列有序,每次只需比較不成立即可

//通過交換相鄰元素進行排序的任何演算法平均都需要 ω(n2)

public class insertsort

array[j+1]=insertnum;//將要插入的元素放在要插入的位置}}

}

package basicknowledge.sort;

/** * @program:summary

* @author:peicc

* @create:2019-07-18 20:52:31

**/public class shellsort

array[j+gap]=temp;}}

}}

public static void main(string args) ;

shellsort(a);

for (int i = 0; i }

}

插入排序 直接插入排序與希爾排序

插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。本節介紹兩種插入排序方法 直接插入排序和希爾排序。直接插入排序基本思想 1 基本思想 假設待排序的記錄存放在陣列r 1.n 中。初始時,r ...

直接插入排序 希爾排序

一.直接插入排序 原理 將陣列分為無序區和有序區兩個區,然後不斷將無序區的第乙個元素按大小順序插入到有序區中去,最終將所有無序區元素都移動到有序區完成排序。最優複雜度 當輸入陣列就是排好序的時候,複雜度為o n 而快速排序在這種情況下會產生o n 2 的複雜度。最差複雜度 當輸入陣列為倒序時,複雜度...

直接插入排序 希爾排序

1.直接插入排序 時間複雜度o n2 工作原理 通過構建有序序列,對於未排序資料,在已排序的序列中,從後向前掃瞄,找到相應的位置並插入。插入排序在實現上,在從後向前掃瞄的過程中,需要反覆把已排序元素逐步向後移動,為最新元素提供插入空間。直接插入排序 public static void insert...