91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

排序算法里面的另外一種排序算法:歸并排序!

Q4MP_gh_c472c21 ? 來源:txp嵌入式 ? 作者:txp嵌入式 ? 2020-11-16 16:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天繼續(xù)給大家分享排序算法里面的另外一種排序算法:歸并排序!

一、歸并排序:

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

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

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

c、歸并(把上面的兩個有序序列合并成一個有序的序列,用一個簡單的詞來說,就是合二為一!)

2、舉例:

比如上圖我們有兩組已經(jīng)排好的序列數(shù)字,我們要進(jìn)行第三步合并,該如何進(jìn)行呢?思路如下:

a、這里先定義一個空的數(shù)組res,它主要是為了臨時存放合并序列排序好的數(shù)字;我們從圖中可以看到,第一個序列指針i指向數(shù)字1,第二序列指針j指向2,這個時候我們要比較兩個數(shù)字的大小,小的數(shù)字就放到臨時數(shù)組res里面去,這里我們明顯知道數(shù)字1小于2,所以把1放到臨時數(shù)組res里去

b、然后指針i往下移動,如下圖所示,再次進(jìn)行比較,明顯發(fā)現(xiàn)指針j指向的數(shù)字2更小,把它放到res里面去,然后指針j往下移動,指針i不動,后面依次類推

c、如下圖所示,兩個指針都指向了數(shù)字5,如果遇到兩個數(shù)字一樣的話,一般是把第一個序列的數(shù)字放到臨時數(shù)組res里面去,這點(diǎn)稍微要注意一下

d、最后把臨時數(shù)組里面的是數(shù)字放到原來的數(shù)組里面去

注意:一個算法穩(wěn)定,并不能說它的時間效率是穩(wěn)定的;這里的穩(wěn)定是說兩個序列中有兩個數(shù)是相同的,如果在排完序之后,他們的位置還是沒有發(fā)生變化的話,那么這個排序就是穩(wěn)定的,反之亦然!

3、歸并排序的平均時間復(fù)雜度的計算推導(dǎo):

注:圖片來源:https://visualgo.net/zh/sorting

從圖片的縱性來分析,當(dāng)拆解到1的時候,這個時候什么數(shù)等于n除于它等于1,通過計算,我們知道是logn,然后再從橫向分析,我們要最多比較n個數(shù)字,所以歸并排序的時間復(fù)雜度就是:nlogn

二、代碼示例:

代碼:

#include usingnamespacestd; constintN=1e5+10; intn; intq[N],tmp[N]; voidmerge_sort(intq[],intl,intr) { if(l>=r)return;//判斷序列中是否為空或者只有一個數(shù)字,如果是的話,我們就不用排序了 //確定分界點(diǎn) intmid=l+r>>1; //遞歸處理 merge_sort(q,l,mid); merge_sort(q,mid+1,r); //定義雙指針 intk=0,i=l,j=mid+1; //歸并處理 while(i<=?mid?&&?j?<=?r) ??if(q[i]?

結(jié)果:

責(zé)任編輯:lq

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

    關(guān)注

    0

    文章

    70

    瀏覽量

    20209
  • 排序算法
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    10426
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    420

    瀏覽量

    27357

原文標(biāo)題:2020-1024=996:歸并排序!

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    MAX16050/MAX16051:電壓監(jiān)測與排序電路的理想選擇

    Analog Devices公司的MAX16050/MAX16051這兩款具有反向排序能力的電壓監(jiān)測/排序電路。 文件下載: MAX16050.pdf 、產(chǎn)品概述 MAX16050和MAX16051是兩款
    的頭像 發(fā)表于 03-02 09:15 ?61次閱讀

    深入解析 LTC2923:電源跟蹤與排序的理想解決方案

    深入解析 LTC2923:電源跟蹤與排序的理想解決方案 在電子設(shè)備的設(shè)計中,電源的跟蹤和排序至關(guān)重要,它直接影響著設(shè)備的性能和穩(wěn)定性。LTC2923 作為款強(qiáng)大的電源跟蹤控制器,為我們提供了簡單
    的頭像 發(fā)表于 02-28 15:35 ?113次閱讀

    ADM1069:多功能電源監(jiān)控與排序芯片的深度解析

    ADM1069:多功能電源監(jiān)控與排序芯片的深度解析 在電子設(shè)備的設(shè)計中,電源管理與監(jiān)控是至關(guān)重要的環(huán)節(jié)。今天,我們將深入探討款功能強(qiáng)大的芯片——ADM1069,它為多電源系統(tǒng)的監(jiān)控和排序提供了全
    的頭像 發(fā)表于 02-28 14:05 ?84次閱讀

    ADM1066:多功能電源監(jiān)控與排序芯片的深度解析

    ADM1066:多功能電源監(jiān)控與排序芯片的深度解析 在電子設(shè)備的設(shè)計中,電源的監(jiān)控與排序是確保系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵環(huán)節(jié)。ADM1066作為款功能強(qiáng)大的電源監(jiān)控與排序芯片,為多電源系統(tǒng)提
    的頭像 發(fā)表于 02-28 14:05 ?80次閱讀

    LTC2937:六通道電源排序器與電壓監(jiān)控器的設(shè)計與應(yīng)用

    LTC2937:六通道電源排序器與電壓監(jiān)控器的設(shè)計與應(yīng)用 在電子系統(tǒng)設(shè)計中,電源管理是至關(guān)重要的環(huán)。合理的電源排序和電壓監(jiān)控能夠確保系統(tǒng)的穩(wěn)定運(yùn)行,避免因電源問題導(dǎo)致的故障和損壞。今天,我們就來
    的頭像 發(fā)表于 02-28 11:15 ?154次閱讀

    ADM1169:多電源系統(tǒng)的監(jiān)控與排序解決方案

    ADM1169:多電源系統(tǒng)的監(jiān)控與排序解決方案 在電子工程師的日常工作中,多電源系統(tǒng)的監(jiān)控與排序個關(guān)鍵且復(fù)雜的問題。今天要為大家介紹的Analog Devices的ADM1169 Super
    的頭像 發(fā)表于 02-28 11:10 ?131次閱讀

    探秘ADM1168:多功能電源監(jiān)控與排序芯片的卓越之選

    探秘ADM1168:多功能電源監(jiān)控與排序芯片的卓越之選 引言 在當(dāng)今復(fù)雜的電子系統(tǒng)中,電源管理和監(jiān)控至關(guān)重要。ADM1168作為款多功能的電源監(jiān)控與排序芯片,為工程師們提供了強(qiáng)大而靈活的解決方案
    的頭像 發(fā)表于 02-28 11:10 ?137次閱讀

    ADM1166:多電源系統(tǒng)監(jiān)控與排序的理想解決方案

    解決方案。下面我們來詳細(xì)了解下這款芯片。 文件下載: ADM1166.pdf 、ADM1166的特性亮點(diǎn) 1. 全面的電源監(jiān)控與排序 ADM1166能對多達(dá)10個電源進(jìn)行監(jiān)控和
    的頭像 發(fā)表于 02-28 11:10 ?135次閱讀

    探索LM3880:三軌簡單電源排序器的卓越性能與應(yīng)用

    提供了一種簡潔而高效的解決方案。 文件下載: lm3880.pdf 、LM3880的特性亮點(diǎn) 1. 多軌排序能力 LM3880可以通過單個輸入信號對三個電壓軌進(jìn)行排序,而且還能輕松級
    的頭像 發(fā)表于 02-26 17:20 ?500次閱讀

    LM3880-Q1:汽車級電源排序器的卓越之選

    因電源啟動順序不當(dāng)而導(dǎo)致的各種問題。德州儀器(TI)推出的LM3880-Q1汽車級三軌簡易電源排序器,就是這樣款能滿足多種應(yīng)用需求的優(yōu)秀產(chǎn)品。本文將深入剖析LM3880-Q1的特點(diǎn)、應(yīng)用、設(shè)計要點(diǎn)等內(nèi)容,為電子工程師們提供全面的
    的頭像 發(fā)表于 02-26 17:10 ?456次閱讀

    MAX16050/MAX16051:具備反向排序功能的電壓監(jiān)控與排序電路

    /MAX16051電壓監(jiān)控/排序電路,憑借其出色的性能和豐富的功能,為工程師們提供了可靠的解決方案。本文將深入介紹這兩款器件的特點(diǎn)、工作原理及應(yīng)用要點(diǎn)。 文件下載: MAX16051ETI+T.pdf 、器件
    的頭像 發(fā)表于 01-31 17:15 ?784次閱讀

    里可以添加本文要記錄的大

    。本文講解不同算法進(jìn)行從小到大的升序排列的過程。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 、冒泡排序 示例:冒泡排序(bubblesort)是
    發(fā)表于 01-27 22:05

    C語言插入排序算法和代碼

    插入排序排序算法一種,它不改變原有的序列(數(shù)組),而是創(chuàng)建個新的序列,在新序列上進(jìn)行操作。   這里以從小到大
    發(fā)表于 01-15 06:44

    光纖線芯都是按照什么顏色排序

    多次有朋友留言問到,光纖熔接顏色如何排序,這個在實(shí)際應(yīng)用中還是比較多的,那么今天我們就不講原理了,直接用圖文簡單明了講光纖熔接色譜,大家可以了解下。 、常規(guī)排序 1、4芯的排序:藍(lán)、
    的頭像 發(fā)表于 12-19 11:02 ?1389次閱讀

    低成本電源排序器解決方案

    絕大多數(shù)負(fù)載點(diǎn)DC-DC轉(zhuǎn)換器可以將上個轉(zhuǎn)換器的電源就緒輸出連接至下個轉(zhuǎn)換器的使能輸入,實(shí)現(xiàn)上電排序。這種方法只適合比較簡單的設(shè)計,不能滿足多數(shù)現(xiàn)代微處理器和DSP的要求這類器件
    的頭像 發(fā)表于 05-21 09:55 ?1186次閱讀
    低成本電源<b class='flag-5'>排序</b>器解決方案