日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

插入排序時(shí)一種常見(jiàn)的排序算法,有點(diǎn)類似于我們打撲克摸牌的過(guò)程,每摸一張牌,我們便通過(guò)對(duì)比手上已有的牌,將剛拿到的牌放入合適的位置。

實(shí)現(xiàn)實(shí)現(xiàn)思路

假設(shè)前j-1個(gè)元素已經(jīng)排好序, 將第j個(gè)元素分別于其前面元素[i]比較,

  1. 如i元素較大,則將i元素的值往前移動(dòng)一位,即 a[i+1] = a[i]
  2. 若i元素較小,則直接將j位置的值放到 i+1元素的位置。

下面以[1, 5, 3, 4, 5, 6, 8]這個(gè)待排序數(shù)組為例,以圖解的方式來(lái)講解一下插入排序的具體過(guò)程。

從j等于1開(kāi)始(這里假設(shè)初始位置為0),如下圖所示

圖解插入排序

 

此時(shí)拿著5和前面的每個(gè)數(shù)對(duì)比,此處是1,發(fā)現(xiàn) 5 > 1,故將五放在 i+1的位置,即5的位置保持不變,此時(shí)i = 0, 即前面已經(jīng)沒(méi)有其他數(shù)了了,所以前兩個(gè)數(shù)已經(jīng)排好序。

接著 j = j+ 1,如下圖所示。 i = j-1

圖解插入排序

 

為了能將3排好序,必須將其與其前面(位置0,1)的數(shù)逐個(gè)對(duì)比,這里先對(duì)比 3和5,發(fā)現(xiàn) 3< 5,此時(shí) 將5放到3的位置,

圖解插入排序

 

此時(shí)i =0, 對(duì)比i位置的值和key的大小,發(fā)現(xiàn) 1 < 3,此時(shí)找到key應(yīng)該放置的位置,即 i + 1 =3;

圖解插入排序

 

此時(shí)前三個(gè)數(shù)已經(jīng)排好序,j 繼續(xù)加1

圖解插入排序

 

此時(shí),要將 key =4 插入到前面( 0 -3)的合適位置中去,同樣對(duì)比 key和 i位置的值,發(fā)現(xiàn) 5 > 4,大的應(yīng)該往后推,所以 5應(yīng)該在4的后面。

圖解插入排序

 

這里將5往前移動(dòng)一位, i –,在比較 i位置的值和 key的大小關(guān)系

發(fā)現(xiàn) 3 < key,0 -i都已排好序,所以找到了key的合適位置,即是 i+ 1;

圖解插入排序

 

j繼續(xù)加1,重復(fù)上述過(guò)程,直至 j = 6,最后便可以排成

1,3, 4,5, 5,6, 8

簡(jiǎn)而言之,每次排序一個(gè)數(shù)key,都要對(duì)比前面的對(duì)比該位置的值與該位置前面的值的大小,若key較小,則將與key對(duì)比的數(shù)往后( i+1)移動(dòng)一位。直到找到一個(gè)小于或等于key的值,則將key放在該數(shù)的后一個(gè)位置處。

根據(jù)上面的過(guò)程,我們可以很容易的得到該排序過(guò)程的時(shí)間復(fù)雜度,因?yàn)橐判蛎恳粋€(gè)數(shù)(n),排序該數(shù)的時(shí)候,還得將這個(gè)數(shù)與前面最多(n-1)個(gè)數(shù)對(duì)比,才能找到合適的位置。所以其時(shí)間復(fù)雜度約為0(n2)。

js代碼實(shí)現(xiàn)

圖解插入排序

 

總結(jié)

1)從第二位開(kāi)始,與前面的所有數(shù)值比較,將大的數(shù)據(jù)向下移動(dòng)

2)時(shí)間復(fù)雜度是O(n2)

分享到:
標(biāo)簽:插入 排序
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定