插入排序 Insertion sort

2021-06-19 13:13:55 字數 1049 閱讀 4078

是一種簡單的排序方法。時間複雜度為o(n^2),即n的平方。在資料量較小的情況下,是比較有效的排序方式。

輸入:n個數 < a1,a2,a3.....an >

輸出:輸入序列的乙個排序 要求 a'1<=a'2<=.....a'n

思想:把序列分為2部分:已排序,未排序。 每次從未排序中取乙個數,與已排序中的值比較,插入到合適的位置。

public

class

insertsort

println

(a);

long

s = system.

nanotime

();

int

b=sort

(a);

long

dur = system.

nanotime

() - s;         

println

(b);

system.

out.println(dur);             }

public

static

int

sort(

int

a)

a[j+1] = key; }

return

a;          }

public

static

void

println(

int

a)

system.

out.println(

"]"); }

}

插入排序 折半插入排序

折半插入排序 binary insertion sort 直接插入排序採用順序查詢法查詢當前記錄在已排好序的序列中插入位置,這個 查詢 操作可利用 折半查詢 來實 現,由此進行的插入排序稱之為折半插入排序 binary insertion sort 演算法思想 1 將待排序的記錄存放在陣列r 1.n...

插入排序 折半插入排序

折半插入排序是基於直接插入排序的優化。直接插入排序 將第i個元素插入時,通過折半查詢的方式,來查詢第i個元素合適的位置。當0 i 1 位置上的元素都已經排序ok,現需要插入第i個元素,設其值為temp 令low 0,high i,mid high low 2。那麼temp可能插入的位置是 low h...

插入排序 希爾插入排序

本文借鑑於lsgo實驗室創始人馬老師 演算法 希爾插入排序 delta len nums 2 while delta 0 shell delta,nums delta delta 2return nums defshell delta,key for i in range delta,len key...