chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

淺析圖解算法之冒泡排序

Linux愛(ài)好者 ? 來(lái)源:小K算法 ? 作者:小K算法 ? 2021-06-08 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

03 冒泡排序 為描述方便,用下面的數(shù)組模擬小朋友的交換過(guò)程。 核心思想(升序):

從首位置開(kāi)始,依次比較前后兩個(gè)數(shù),如果前面的數(shù)比后面的數(shù)大,就交換兩個(gè)數(shù)。這樣第1輪結(jié)束后,最大的數(shù)就會(huì)移動(dòng)到最后的位置。對(duì)剩余元素重復(fù)執(zhí)行N-1次,整個(gè)數(shù)組有序。因?yàn)橄窨諝馍细〉剿?,最大的元素?huì)慢慢浮到最后,所以冒泡因此得名。

3.1 第1輪 執(zhí)行完成后,最大的元素歸位。

3.2 第2輪 第2輪接著對(duì)前面剩余的N-1個(gè)元素重復(fù)上面步驟,第2大的元素歸位。

3.3 第3輪 第3輪對(duì)前面剩余的N-2個(gè)元素重復(fù)上面步驟,第3大的元素歸位。 總共執(zhí)行N-1次操作,所有元素歸位。

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

for (int i = 0; i 《 n - 1; ++i) { for (int j = 0; j 《 n - i - 1; ++j) { if (a[j] 》 a[j + 1]) { swap(a[j], a[j + 1]); } } } 04 問(wèn)題及優(yōu)化

4.1 迭代輪次優(yōu)化 如果原數(shù)組為如下情況,那么在執(zhí)行完第1輪后,整個(gè)數(shù)組已經(jīng)有序,后面的輪次沒(méi)必要執(zhí)行,可以針對(duì)這種情況做一次優(yōu)化改進(jìn)。 改進(jìn)點(diǎn)1: 如果某一輪沒(méi)有發(fā)生過(guò)交換,說(shuō)明數(shù)組已經(jīng)有序,那么以后也不會(huì)發(fā)生交換,此時(shí)可以終止迭代。 代碼實(shí)現(xiàn)

for (int i = 0; i 《 n - 1; ++i) { // flag標(biāo)記是否有交換 bool flag = true; for (int j = 0; j 《 n - i - 1; ++j) { if (a[j] 》 a[j + 1]) { swap(a[j], a[j + 1]); flag = false; } } if (flag) { break; } }

4.2 掃描范圍優(yōu)化 如果為以下情況,我們會(huì)發(fā)現(xiàn)最后的6和8所處的位置和最終排序完成的位置一樣,說(shuō)明過(guò)程中他們的位置不會(huì)發(fā)生變化。 上一輪最后交換的位置,在下一輪時(shí),此位置后面的數(shù)也不會(huì)再發(fā)生交換。 改進(jìn)點(diǎn)2: 記錄每一次最后發(fā)生交換的位置,下一輪只需要掃描到此位置的前一個(gè)即可。 代碼實(shí)現(xiàn)

// 記錄最后交換的位置 int position = 0; int len = n - 1; for (int i = 0; i 《 n - 1; ++i) { // flag標(biāo)記是否有交換 bool flag = true; for (int j = 0; j 《 len; ++j) { if (a[j] 》 a[j + 1]) { swap(a[j], a[j + 1]); flag = false; position = j; } } len = position; if (flag) { break; } }

05 總結(jié)

冒泡排序是比較簡(jiǎn)單的一種排序算法,核心思想就是比較相鄰的兩個(gè)數(shù),但效率比較低所以可做一些優(yōu)化。時(shí)間復(fù)雜度為O(N^2),數(shù)據(jù)規(guī)模較小時(shí)可采用,但數(shù)據(jù)過(guò)大時(shí)就不建議采用冒泡了。

編輯:jq

聲明:本文內(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)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7297

    瀏覽量

    93501
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4924

    瀏覽量

    72384

原文標(biāo)題:圖解算法:冒泡排序

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    圖解環(huán)路設(shè)計(jì)及控制技術(shù)探討

    由于之前缺乏控制理論方面的知識(shí)在剛接觸反饋環(huán)路的時(shí)候?qū)ζ渲械暮芏嗝~不是很明白,這次準(zhǔn)備采用圖解的方法逐一的搞清楚這些名詞并且試圖找出一種便捷的設(shè)置零、極點(diǎn)的方法。最后準(zhǔn)備再探討一下關(guān)于控制技術(shù)
    發(fā)表于 08-22 17:39

    DFT算法與FFT算法的優(yōu)劣分析

    一概述 在諧波分析儀中,我們常常提到的兩個(gè)詞語(yǔ),就是DFT算法與FFT算法,那么一款功率分析儀/諧波分析儀采用DFT算法或者FFT算法,用戶往往關(guān)注的是能否達(dá)到所要分析諧波次數(shù)的目的,
    的頭像 發(fā)表于 08-04 09:30 ?728次閱讀

    基于FPGA實(shí)現(xiàn)FOC算法PWM模塊設(shè)計(jì)

    哈嘍,大家好,從今天開(kāi)始正式帶領(lǐng)大家從零到一,在FPGA平臺(tái)上實(shí)現(xiàn)FOC算法,整個(gè)算法的框架如下圖所示,如果大家對(duì)算法的原理不是特別清楚的話,可以先去百度上學(xué)習(xí)一下,本教程著重介紹實(shí)現(xiàn)過(guò)程,弱化原理的介紹。那么本文將從PWM模塊
    的頭像 發(fā)表于 07-17 15:21 ?2945次閱讀
    基于FPGA實(shí)現(xiàn)FOC<b class='flag-5'>算法</b><b class='flag-5'>之</b>PWM模塊設(shè)計(jì)

    同步電機(jī)失步淺析

    純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~*附件:同步電機(jī)失步淺析.pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 06-20 17:42

    圖解單片機(jī)功能與應(yīng)用(完整版)

    過(guò)程通道圖解、單片機(jī)顯示電路圖解、51單片機(jī)按鍵識(shí)別電路圖解、51單片機(jī)常用算法圖解、單片機(jī)常用電路圖解
    發(fā)表于 06-16 16:52

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

    絕大多數(shù)負(fù)載點(diǎn)DC-DC轉(zhuǎn)換器可以將上一個(gè)轉(zhuǎn)換器的電源就緒輸出連接至下一個(gè)轉(zhuǎn)換器的使能輸入,實(shí)現(xiàn)上電排序。這種方法只適合比較簡(jiǎn)單的設(shè)計(jì),不能滿足多數(shù)現(xiàn)代微處理器和DSP的要求一這類器件要求斷電順序必須與上電順序相反。許多廠商針對(duì)這類應(yīng)用推出了可編程排序IC,但器件價(jià)格較為
    的頭像 發(fā)表于 05-21 09:55 ?832次閱讀
    低成本電源<b class='flag-5'>排序</b>器解決方案

    漫畫圖解 電感器 抗干擾元器件指南(全彩PDF版)

    漫畫圖解電感基礎(chǔ)知識(shí)(高清PDF) 內(nèi)容:很形象的漫畫和語(yǔ)言圖解關(guān)于電感器的入門基礎(chǔ)知識(shí),讓電子初學(xué)者也能輕松的看懂電子電路。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~)
    發(fā)表于 05-13 15:49

    PCB封裝圖解

    PCB封裝圖解——詳細(xì)介紹了各種封裝的具體參數(shù),并介紹了如何進(jìn)行封裝制作 純分享貼,有需要可以直接下載附件獲取文檔! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~)
    發(fā)表于 04-22 13:44

    110kV變電站典型二次回路圖解

    電子發(fā)燒友網(wǎng)站提供《110kV變電站典型二次回路圖解.pdf》資料免費(fèi)下載
    發(fā)表于 03-31 16:57 ?4次下載

    無(wú)刷電機(jī)的繞制和接線方法及實(shí)物圖解

    下方附件可打開(kāi)*附件:無(wú)刷電機(jī)的繞制和接線方法及實(shí)物圖解.doc
    發(fā)表于 03-17 20:00

    PID控制算法的C語(yǔ)言實(shí)現(xiàn):PID算法原理

    在工業(yè)應(yīng)用中 PID 及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法,如果能夠熟練掌握 PID 算法的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,對(duì)于一般的研發(fā)人員來(lái)講,應(yīng)該是足夠應(yīng)對(duì)一般研發(fā)問(wèn)題了,而
    發(fā)表于 02-26 15:24

    詳解Linux sort命令掌握排序技巧與實(shí)用案例

    在linux系統(tǒng)使用過(guò)程中,提供了sort排序命令,支持常用的排序功能。 常用參數(shù) sort命令支持很多參數(shù),常用參數(shù)如下: ? 短參數(shù) 長(zhǎng)參數(shù) 說(shuō)明 -n – number-sort 按字符串?dāng)?shù)值
    的頭像 發(fā)表于 01-09 10:10 ?1457次閱讀

    TimSort:一個(gè)在標(biāo)準(zhǔn)函數(shù)庫(kù)中廣泛使用的排序算法

    在計(jì)算機(jī)科學(xué)的領(lǐng)域,排序算法是每位學(xué)生必學(xué)的基礎(chǔ),而排序的需求是每位程序員在編程過(guò)程中都會(huì)遇到的。 在你輕松調(diào)用 .sort() 方法對(duì)數(shù)據(jù)進(jìn)行排序時(shí),是否曾好奇過(guò),這個(gè)簡(jiǎn)單的方法背后
    的頭像 發(fā)表于 01-03 11:42 ?835次閱讀

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+介紹基礎(chǔ)硬件算法模塊

    作為嵌入式開(kāi)發(fā)者往往比較關(guān)注硬件和軟件的協(xié)調(diào)。本書介紹了除法器,信號(hào)發(fā)生器,濾波器,分頻器等基本算法的電路實(shí)現(xiàn),雖然都是基礎(chǔ)內(nèi)容,但是也是最常用到的基本模塊。 隨著逆全球化趨勢(shì)的出現(xiàn),過(guò)去的研發(fā)
    發(fā)表于 11-21 17:05

    技術(shù)科普 | 芯片設(shè)計(jì)中的LEF文件淺析

    技術(shù)科普 | 芯片設(shè)計(jì)中的LEF文件淺析
    的頭像 發(fā)表于 11-13 01:03 ?966次閱讀
    技術(shù)科普 | 芯片設(shè)計(jì)中的LEF文件<b class='flag-5'>淺析</b>