国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺析圖解算法之冒泡排序

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

掃碼添加小助手

加入工程師交流群

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

從首位置開始,依次比較前后兩個數,如果前面的數比后面的數大,就交換兩個數。這樣第1輪結束后,最大的數就會移動到最后的位置。對剩余元素重復執行N-1次,整個數組有序。因為像空氣上浮到水面,最大的元素會慢慢浮到最后,所以冒泡因此得名。

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

3.2 第2輪 第2輪接著對前面剩余的N-1個元素重復上面步驟,第2大的元素歸位。

3.3 第3輪 第3輪對前面剩余的N-2個元素重復上面步驟,第3大的元素歸位。 總共執行N-1次操作,所有元素歸位。

3.4 代碼實現

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 問題及優化

4.1 迭代輪次優化 如果原數組為如下情況,那么在執行完第1輪后,整個數組已經有序,后面的輪次沒必要執行,可以針對這種情況做一次優化改進。 改進點1: 如果某一輪沒有發生過交換,說明數組已經有序,那么以后也不會發生交換,此時可以終止迭代。 代碼實現

for (int i = 0; i 《 n - 1; ++i) { // flag標記是否有交換 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 掃描范圍優化 如果為以下情況,我們會發現最后的6和8所處的位置和最終排序完成的位置一樣,說明過程中他們的位置不會發生變化。 上一輪最后交換的位置,在下一輪時,此位置后面的數也不會再發生交換。 改進點2: 記錄每一次最后發生交換的位置,下一輪只需要掃描到此位置的前一個即可。 代碼實現

// 記錄最后交換的位置 int position = 0; int len = n - 1; for (int i = 0; i 《 n - 1; ++i) { // flag標記是否有交換 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 總結

冒泡排序是比較簡單的一種排序算法,核心思想就是比較相鄰的兩個數,但效率比較低所以可做一些優化。時間復雜度為O(N^2),數據規模較小時可采用,但數據過大時就不建議采用冒泡了。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7335

    瀏覽量

    94771
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73970

原文標題:圖解算法:冒泡排序

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MAX16041/MAX16042/MAX16043:多電壓監控與排序電路的理想

    MAX16041/MAX16042/MAX16043:多電壓監控與排序電路的理想選 在電子設計領域,對于多電壓系統的監控和排序是一個關鍵環節。Maxim Integrated推出的MAX16041
    的頭像 發表于 03-02 09:15 ?61次閱讀

    深入剖析 MAX6880–MAX6883:多電壓電源排序與監控的理想

    深入剖析 MAX6880–MAX6883:多電壓電源排序與監控的理想選 在電子系統設計中,多電壓電源的有序供電和穩定監控至關重要。MAXIM 推出的 MAX6880–MAX6883 系列雙/三電壓
    的頭像 發表于 02-28 17:10 ?931次閱讀

    MAX6819/MAX6820:SOT23封裝電源排序器的卓越

    MAX6819/MAX6820:SOT23封裝電源排序器的卓越選 在電子設計領域,電源管理是確保系統穩定運行的關鍵環節。對于雙電壓微處理器和多電壓系統而言,電源的正確排序尤為重要。今天,我們就來
    的頭像 發表于 02-28 17:05 ?537次閱讀

    深入剖析ADM1067:多功能電源監控與排序芯片的卓越

    深入剖析ADM1067:多功能電源監控與排序芯片的卓越選 在電子系統設計中,對于多電源系統的監控和排序需求日益增長。ADM1067作為一款可配置的監控/排序設備,為多電源系統的電源監
    的頭像 發表于 02-28 14:05 ?92次閱讀

    探秘ADM1168:多功能電源監控與排序芯片的卓越

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

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

    LM3880-Q1:汽車級電源排序器的卓越選 引言 在電子設備的設計中,電源的正確排序對于系統的穩定性和可靠性至關重要。特別是在汽車等對安全性和穩定性要求極高的領域,一款合適的電源排序
    的頭像 發表于 02-26 17:10 ?456次閱讀

    德州儀器UCD9090A:10軌電源排序與監控的理想

    德州儀器UCD9090A:10軌電源排序與監控的理想選 在電子系統設計中,對于多電壓軌的電源管理和監控是一個關鍵挑戰。德州儀器(TI)的UCD9090A 10軌電源排序器和監控器,為解決這一
    的頭像 發表于 02-26 16:25 ?79次閱讀

    深度解析TPS38700S-Q1:多通道電源排序器的卓越

    深度解析TPS38700S-Q1:多通道電源排序器的卓越選 在電子設計領域,電源管理和排序對于確保系統的穩定運行至關重要。特別是在復雜的系統中,如先進駕駛輔助系統(ADAS)、汽車攝像頭模塊
    的頭像 發表于 02-26 16:20 ?76次閱讀

    MAX16050/MAX16051:具備反向排序功能的電壓監控與排序電路

    MAX16050/MAX16051:具備反向排序功能的電壓監控與排序電路 在電子系統設計中,對電源電壓的精確監控和有序控制至關重要。Maxim Integrated推出的MAX16050
    的頭像 發表于 01-31 17:15 ?784次閱讀

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

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

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

    插入排序排序算法的一種,它不改變原有的序列(數組),而是創建一個新的序列,在新序列上進行操作。   這里以從小到大排序為例進行講解。   基本思想及舉例說明   插入
    發表于 01-15 06:44

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

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

    C語言的常見算法

    # C語言常見算法 C語言中常用的算法可以分為以下幾大類: ## 1. 排序算法 ### 冒泡排序
    發表于 11-24 08:29

    圖解單片機功能與應用(完整版)

    過程通道圖解、單片機顯示電路圖解、51單片機按鍵識別電路圖解、51單片機常用算法圖解、單片機常用電路圖解
    發表于 06-16 16:52

    PCB封裝圖解

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