在上次分享的快排算法,不知大家感覺分享的如何,上次文章里面的圖比較丑一點,快排的思想核心不知道大家有沒有理解到位;我們今天繼續給大家分享排序算法里面的另外一種排序算法:歸并排序!
一、歸并排序:
1、歸并排序操作的核心思想:
a、確定分界點:mid=(l+r)/2
b、遞歸排序左邊和右邊(排完左右兩邊的數,就會成為兩個有序的序列了)
c、歸并(把上面的兩個有序序列合并成一個有序的序列,用一個簡單的詞來說,就是合二為一!)
2、舉例:
比如我們有兩組已經排好的序列數字,我們要進行第三步合并,該如何進行呢?思路如下:
a、這里先定義一個空的數組res,它主要是為了臨時存放合并序列排序好的數字;我們從圖中可以看到,第一個序列指針i指向數字1,第二序列指針j指向2,這個時候我們要比較兩個數字的大小,小的數字就放到臨時數組res里面去,這里我們明顯知道數字1小于2,所以把1放到臨時數組res里取
b、然后指針i往下移動,再次進行比較,明顯發現指針j指向的數字2更小,把它放到res里面去,然后指針j往下移動,指針i不動,后面依次類推
審核編輯:符乾江
-
算法
+關注
關注
23文章
4681瀏覽量
94323 -
排序
+關注
關注
0文章
32瀏覽量
9798
發布評論請先 登錄
相關推薦
WT588F02B-8S(B2)語音芯片MIDI版本說明V1
UCD9224 2 MHz、2 軌、4 相數字 PWM 降壓控制器,具有改進的排序功能技術資料

TPS74701-Q1 具有電源正常功能的汽車類 500mA、低 VIN (0.8V)、可調超低壓差穩壓器數據手冊

華為支付-商戶基礎支付場景開發步驟
詳解Linux sort命令之掌握排序技巧與實用案例
TimSort:一個在標準函數庫中廣泛使用的排序算法
dp接口的最新技術發展
時間復雜度為 O(n^2) 的排序算法

雙芯片磁性位置傳感器中堆疊芯片和并排芯片實施方案之間的比較

評論