在上次分享的快排算法,不知大家感覺分享的如何,上次文章里面的圖比較丑一點(diǎn),快排的思想核心不知道大家有沒有理解到位;我們今天繼續(xù)給大家分享排序算法里面的另外一種排序算法:歸并排序!
一、歸并排序:
1、歸并排序操作的核心思想:
a、確定分界點(diǎn):mid=(l+r)/2
b、遞歸排序左邊和右邊(排完左右兩邊的數(shù),就會(huì)成為兩個(gè)有序的序列了)
c、歸并(把上面的兩個(gè)有序序列合并成一個(gè)有序的序列,用一個(gè)簡單的詞來說,就是合二為一!)
2、舉例:
比如我們有兩組已經(jīng)排好的序列數(shù)字,我們要進(jìn)行第三步合并,該如何進(jìn)行呢?思路如下:
a、這里先定義一個(gè)空的數(shù)組res,它主要是為了臨時(shí)存放合并序列排序好的數(shù)字;我們從圖中可以看到,第一個(gè)序列指針i指向數(shù)字1,第二序列指針j指向2,這個(gè)時(shí)候我們要比較兩個(gè)數(shù)字的大小,小的數(shù)字就放到臨時(shí)數(shù)組res里面去,這里我們明顯知道數(shù)字1小于2,所以把1放到臨時(shí)數(shù)組res里取
b、然后指針i往下移動(dòng),再次進(jìn)行比較,明顯發(fā)現(xiàn)指針j指向的數(shù)字2更小,把它放到res里面去,然后指針j往下移動(dòng),指針i不動(dòng),后面依次類推
審核編輯:符乾江
-
算法
+關(guān)注
關(guān)注
23文章
4630瀏覽量
93351 -
排序
+關(guān)注
關(guān)注
0文章
32瀏覽量
9728
發(fā)布評論請先 登錄
相關(guān)推薦
詳解Linux sort命令之掌握排序技巧與實(shí)用案例
TimSort:一個(gè)在標(biāo)準(zhǔn)函數(shù)庫中廣泛使用的排序算法
時(shí)間復(fù)雜度為 O(n^2) 的排序算法

飛凌OK-全志T527開發(fā)板nbench性能測試
具有先進(jìn)排序和輸出裕度的中輸入同步降壓控制器TPS40101數(shù)據(jù)表

具有先進(jìn)排序和輸出裕度的中輸入同步降壓控制器TPS40100數(shù)據(jù)表

3-A、3.3/5V輸入、可調(diào)開關(guān)穩(wěn)壓器,具有自動(dòng)跟蹤TM排序功能PTH04000W數(shù)據(jù)表

Linux的sort命令介紹
支持 ACPI 的 10 軌電源排序器和監(jiān)視器UCD9090A數(shù)據(jù)表

FPGA實(shí)現(xiàn)雙調(diào)排序算法的探索與實(shí)踐

想聽聽48和大對數(shù)光纜的排序?
C語言實(shí)現(xiàn)經(jīng)典排序算法概覽

評論