0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

排序算法分享:歸并排序說(shuō)明

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 14:34 ? 次閱讀

在上次分享的快排算法,不知大家感覺(jué)分享的如何,上次文章里面的圖比較丑一點(diǎn),快排的思想核心不知道大家有沒(méi)有理解到位;我們今天繼續(xù)給大家分享排序算法里面的另外一種排序算法:歸并排序!

一、歸并排序:

1、歸并排序操作的核心思想:

a、確定分界點(diǎn):mid=(l+r)/2

b、遞歸排序左邊和右邊(排完左右兩邊的數(shù),就會(huì)成為兩個(gè)有序的序列了)

c、歸并(把上面的兩個(gè)有序序列合并成一個(gè)有序的序列,用一個(gè)簡(jiǎn)單的詞來(lái)說(shuō),就是合二為一?。?/p>

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),后面依次類推

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4576

    瀏覽量

    92341
  • 排序
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    9693
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    時(shí)間復(fù)雜度為 O(n^2) 的排序算法

    作者:京東保險(xiǎn) 王奕龍 對(duì)于小規(guī)模數(shù)據(jù),我們可以選用時(shí)間復(fù)雜度為 O(n2) 的排序算法。因?yàn)闀r(shí)間復(fù)雜度并不代表實(shí)際代碼的執(zhí)行時(shí)間,它省去了低階、系數(shù)和常數(shù),僅代表的增長(zhǎng)趨勢(shì),所以在小規(guī)模數(shù)據(jù)情況下
    的頭像 發(fā)表于 10-19 16:31 ?656次閱讀
    時(shí)間復(fù)雜度為 O(n^2) 的<b class='flag-5'>排序</b><b class='flag-5'>算法</b>

    TPS54120排序和跟蹤

    電子發(fā)燒友網(wǎng)站提供《TPS54120排序和跟蹤.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 10:54 ?0次下載
    TPS54120<b class='flag-5'>排序</b>和跟蹤

    手把手教你排序算法怎么寫

    今天以直接插入排序算法,給大家分享一下排序算法的實(shí)現(xiàn)思路,主要包含以下部分內(nèi)容:插入排序介紹插入排序
    的頭像 發(fā)表于 06-04 08:03 ?594次閱讀
    手把手教你<b class='flag-5'>排序</b><b class='flag-5'>算法</b>怎么寫

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

    電子發(fā)燒友網(wǎng)站提供《支持 ACPI 的 10 軌電源排序器和監(jiān)視器UCD9090A數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-29 09:12 ?0次下載
    支持 ACPI 的 10 軌電源<b class='flag-5'>排序</b>器和監(jiān)視器UCD9090A數(shù)據(jù)表

    用FPGA實(shí)現(xiàn)雙調(diào)排序的方法(2)

    典型的排序算法包括冒泡排序、選擇排序、插入排序歸并排序、快速
    的頭像 發(fā)表于 03-21 10:28 ?571次閱讀
    用FPGA實(shí)現(xiàn)雙調(diào)<b class='flag-5'>排序</b>的方法(2)

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

    雙調(diào)排序(BitonicSort)是數(shù)據(jù)獨(dú)立(Data-independent)的排序算法,即比較順序與數(shù)據(jù)無(wú)關(guān),特別適合并行執(zhí)行。在了解雙調(diào)排序
    發(fā)表于 03-14 09:50 ?446次閱讀
    FPGA實(shí)現(xiàn)雙調(diào)<b class='flag-5'>排序</b><b class='flag-5'>算法</b>的探索與實(shí)踐

    想聽(tīng)聽(tīng)48和大對(duì)數(shù)光纜的排序

    48芯光纜和大對(duì)數(shù)光纜都是光纜中的一種,它們的區(qū)別在于芯數(shù)不同。48芯光纜指的是光纜中包含48根光纖,而大對(duì)數(shù)光纜則是指光纜中芯數(shù)超過(guò)了48芯。 在實(shí)際的光纜應(yīng)用中,不同芯數(shù)的光纜需要進(jìn)行不同的排序
    的頭像 發(fā)表于 03-12 10:44 ?485次閱讀

    C語(yǔ)言實(shí)現(xiàn)經(jīng)典排序算法概覽

    冒泡排序(英語(yǔ):Bubble Sort)是一種簡(jiǎn)單的排序算法。它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序(如從大到小、首字母從A到Z)錯(cuò)誤就把他們交換過(guò)來(lái)。
    的頭像 發(fā)表于 02-25 12:27 ?393次閱讀
    C語(yǔ)言實(shí)現(xiàn)經(jīng)典<b class='flag-5'>排序</b><b class='flag-5'>算法</b>概覽

    十大排序算法總結(jié)

    排序算法是最經(jīng)典的算法知識(shí)。因?yàn)槠鋵?shí)現(xiàn)代碼短,應(yīng)該廣,在面試中經(jīng)常會(huì)問(wèn)到排序算法及其相關(guān)的問(wèn)題。一般在面試中最??嫉氖强焖?/div>
    的頭像 發(fā)表于 12-20 10:39 ?1046次閱讀

    時(shí)間復(fù)雜度為O (nlogn)的排序算法簡(jiǎn)述

    歸并排序遵循分治的思想:將原問(wèn)題分解為幾個(gè)規(guī)模較小但類似于原問(wèn)題的子問(wèn)題,遞歸地求解這些子問(wèn)題,然后合并這些子問(wèn)題的解來(lái)建立原問(wèn)題的解。
    的頭像 發(fā)表于 12-05 09:57 ?526次閱讀
    時(shí)間復(fù)雜度為O (nlogn)的<b class='flag-5'>排序</b><b class='flag-5'>算法</b>簡(jiǎn)述

    數(shù)據(jù)結(jié)構(gòu):?jiǎn)捂湵淼?b class='flag-5'>排序

    給定一個(gè)單鏈表的頭結(jié)點(diǎn)head(該結(jié)點(diǎn)有值),長(zhǎng)度為n的無(wú)序單鏈表,對(duì)其按升序排序后,返回新鏈表。如當(dāng)輸入鏈表 {3,1,4,5,2} 時(shí),經(jīng)升序排列后,原鏈表變?yōu)?{1,2,3,4,5},對(duì)應(yīng)的輸出為 {1,2,3,4,5}。
    的頭像 發(fā)表于 11-30 13:56 ?1340次閱讀
    數(shù)據(jù)結(jié)構(gòu):?jiǎn)捂湵淼?b class='flag-5'>排序</b>

    使用LTC2937排序和監(jiān)督的分步指南

    電子發(fā)燒友網(wǎng)站提供《使用LTC2937排序和監(jiān)督的分步指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-24 14:39 ?0次下載
    使用LTC2937<b class='flag-5'>排序</b>和監(jiān)督的分步指南

    python升序和降序排序代碼

    Python是一種簡(jiǎn)潔而強(qiáng)大的編程語(yǔ)言,提供了許多實(shí)用的函數(shù)和方法來(lái)排序數(shù)據(jù)。在本文中,我們將詳細(xì)討論P(yáng)ython中的升序和降序排序。我們將深入探討不同的排序算法、它們的復(fù)雜度以及如何
    的頭像 發(fā)表于 11-21 15:20 ?2814次閱讀

    求助,大家都在單片機(jī)跑的算法有哪些?

    大家都在單片機(jī)中跑過(guò)什么算法? 如PID、冒泡排序、。。。。 還有那些算法
    發(fā)表于 11-02 07:55

    嵌入式課程設(shè)計(jì)報(bào)告-數(shù)據(jù)排序過(guò)程演示

    電子發(fā)燒友網(wǎng)站提供《嵌入式課程設(shè)計(jì)報(bào)告-數(shù)據(jù)排序過(guò)程演示.doc》資料免費(fèi)下載
    發(fā)表于 10-26 09:30 ?0次下載
    嵌入式課程設(shè)計(jì)報(bào)告-數(shù)據(jù)<b class='flag-5'>排序</b>過(guò)程演示