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

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

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

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

熟練掌握常用的排序算法

冬至配餃子 ? 來源:嵌入式案例Show ? 作者:嵌Sir ? 2022-08-20 09:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、前言

排序是數(shù)據(jù)處理中經(jīng)常運用的一種重要運算,排序的功能是將一個數(shù)據(jù)元素(記錄)的任意序列,重新排列成一個按照一個規(guī)則有序的序列。常用的排序算法我們要熟練掌握。

2、冒泡排序

冒泡排序(英語:Bubble Sort)是一種簡單的排序算法。它重復地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。

示例:

poYBAGMAOruAL01VAAEBj1wgHog062.png

3、選擇排序

選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。首先在未排序序列中找到最?。ù螅┰?,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最?。ù螅┰?,然后放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

示例:

pYYBAGMAOtKAddFZAADE9s8DT38780.png

4、插入排序

插入排序(英語:Insertion Sort)是一種簡單直觀的排序算法。它的工作原理是通過構建有序序列,對于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應位置并插入。插入排序在實現(xiàn)上,通常采用in-place排序,因而在從后向前掃描過程中,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間。

示例:

poYBAGMAOuSAMzv8AAB-sAsyGzI328.png

5、希爾排序

希爾排序,也稱遞減增量排序算法,是插入排序的一種更高效的改進版本。希爾排序是非穩(wěn)定排序算法。

希爾排序是基于插入排序的以下兩點性質而提出改進方法的:

插入排序在對幾乎已經(jīng)排好序的數(shù)據(jù)操作時,效率高,即可以達到線性排序的效率

但插入排序一般來說是低效的,因為插入排序每次只能將數(shù)據(jù)移動一位

希爾排序先將待排記錄序列分割成為若干子序列分別進行插入排序,待整個序列中的記錄"基本有序"時,再對全體記錄進行一次直接插入排序。

示例:

pYYBAGMAOvaAY8bDAACfNRPrx-0060.png

6、歸并排序

歸并排序應用的是分治的思想,將大隊列劃分成小隊列,然后小隊列內(nèi)排序,再將排好序的小隊列組合成大隊列,步驟:

1、將劃分成兩個隊列直到不可再分為止

2、小隊列內(nèi)排序

3、左隊列與右隊列合并

4、返回合并的隊列

示例:

poYBAGMAOxuAA4jjAAEh-jcUQj8079.png

7、快速排序

快速排序的基本思想是:通過一趟排序將待排記錄分割成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,則可分別對這兩部分記錄繼續(xù)進行排序,已達到整個序列有序。一趟快速排序的具體過程可描述為:從待排序列中任意選取一個記錄(通常選取第一個記錄)作為基準值,然后將記錄中關鍵字比它小的記錄都安置在它的位置之前,將記錄中關鍵字比它大的記錄都安置在它的位置之后。這樣,以該基準值為分界線,將待排序列分成的兩個子序列。

一趟快速排序的具體做法為:設置兩個指針low和high分別指向待排序列的開始和結尾,記錄下基準值baseval(待排序列的第一個記錄),然后先從high所指的位置向前搜索直到找到一個小于baseval的記錄并互相交換,接著從low所指向的位置向后搜索直到找到一個大于baseval的記錄并互相交換,重復這兩個步驟直到low=high為止

示例:

poYBAGMAO0CAHg1AAAEAiKJZq68115.pngpYYBAGMAO0aAErN_AABxdMH6wck722.png



審核編輯:劉清

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

    關注

    23

    文章

    4775

    瀏覽量

    97610
  • 指針
    +關注

    關注

    1

    文章

    484

    瀏覽量

    71725
  • 數(shù)據(jù)處理

    關注

    0

    文章

    644

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    軟件加密中有哪些常用的加密算法?

    軟件加密中,有哪些常用的加密算法?
    發(fā)表于 12-26 06:00

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

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

    CW32嵌入式軟件開發(fā)的必備知識

    嵌入式軟件開發(fā)作為計算機科學和電子工程的交叉領域,要求開發(fā)人員具備一系列的專業(yè)知識和技能。 而基于CW32的嵌入式軟件開發(fā)必備知識包括以下部分: 1 、編程語言 熟練掌握C(C++)語言,這是
    發(fā)表于 11-28 07:48

    C語言的常見算法

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

    8種常用的CRC算法分享

    CRC 計算單元可按所選擇的算法和參數(shù)配置來生成數(shù)據(jù)流的 CRC 碼。有些應用中,可利用 CRC 技術來驗證數(shù)據(jù)的傳輸和存儲的完整性。 8 種常用的 CRC 算法,包括: CRC16_IBM
    發(fā)表于 11-13 07:25

    高效管理Kubernetes集群的實用技巧

    作為一名經(jīng)驗豐富的運維工程師,我深知在日常的Kubernetes集群管理中,熟練掌握kubectl命令是提升工作效率的關鍵。今天,我將分享15個經(jīng)過實戰(zhàn)檢驗的kubectl實用技巧,幫助你像藝術家一樣優(yōu)雅地管理K8s集群。
    的頭像 發(fā)表于 08-13 15:57 ?711次閱讀

    三大核心網(wǎng)絡設備的運維要點

    作為運維工程師,熟練掌握網(wǎng)絡設備的管理和維護是構建穩(wěn)定IT基礎架構的關鍵。本文將深入探討交換機、路由器和防火墻這三大核心網(wǎng)絡設備的運維要點,從基礎配置到高級故障排除,為您提供全面的技術指導。
    的頭像 發(fā)表于 07-22 16:35 ?895次閱讀

    一文掌握Linux命令

    作為一名運維工程師,熟練掌握Linux命令是基本功中的基本功。無論是日常工作中的系統(tǒng)維護,還是面試時的技術考核,Linux命令都是繞不開的核心技能。本文將從實戰(zhàn)角度出發(fā),系統(tǒng)梳理運維工程師必須掌握的Linux命令,并結合實際場景解析其應用方法。
    的頭像 發(fā)表于 07-22 15:23 ?532次閱讀

    熟練掌握ModbusTCP轉PROFINET網(wǎng)關的互轉技術

    在現(xiàn)代工業(yè)生產(chǎn)中,自動化與信息化的深度融合成為提升效率、優(yōu)化流程的關鍵。在這一背景下,不同通信協(xié)議之間的兼容性與轉換能力顯得尤為重要,尤其是在廣泛應用的Modbus TCP與新興且高效的Profinet之間。本文將深入探討Modbus TCP向Profinet轉換的過程、技術細節(jié)及其應用價值,旨在為工業(yè)自動化領域的從業(yè)者提供一份實用的知識指南。 添加圖片注釋,不超過 140 字(可選) 二、Modbus TCP轉Profinet網(wǎng)關的重要性 鑒于Modbus TCP與Profinet各自在不同領域的優(yōu)勢
    的頭像 發(fā)表于 07-07 18:26 ?306次閱讀
    <b class='flag-5'>熟練掌握</b>ModbusTCP轉PROFINET網(wǎng)關的互轉技術

    單片機常用算法源碼下載!

    單片機常用算法源碼下載!
    發(fā)表于 06-10 20:44

    電機學教程

    電磁關系,熟練掌握各類電機的運行原理及其分析方法: (3)在以上分析的基礎上,掌握各種電機的工作特性、外特性、機械特性、調速特性和起動特性等; (4)根據(jù)以上所掌握的各種運行特性,熟知其運用場合,分析其
    發(fā)表于 05-12 14:50

    自動化設備里 M12 接頭五口的巧妙接法

    熟練掌握自動化設備里M12接頭五口的巧妙接法,尤其是結合德索精密工業(yè)的優(yōu)質產(chǎn)品與專業(yè)技術,能夠極大地提升設備布線的精準度與可靠性,為自動化設備的穩(wěn)定、高效運行筑牢根基,確保設備在復雜的工業(yè)環(huán)境中持續(xù)穩(wěn)定地發(fā)揮其卓越性能。
    的頭像 發(fā)表于 05-08 09:01 ?781次閱讀
    自動化設備里 M12 接頭五口的巧妙接法

    別忽視!TNC 插座正確拆卸關乎設備壽命

    正確拆卸 TNC 插座,看似微不足道,實則對設備的穩(wěn)定運行及使用壽命影響重大。無論是專業(yè)技術人員,還是普通使用者,都應熟練掌握正確拆卸方法,避免因操作不當對設備造成損害,進而降低設備維護成本,延長設備使用壽命,確保通信與電子設備高效運轉。
    的頭像 發(fā)表于 03-28 08:57 ?679次閱讀
    別忽視!TNC 插座正確拆卸關乎設備壽命

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

    在工業(yè)應用中 PID 及其衍生算法是應用最廣泛的算法之一,是當之無愧的萬能算法,如果能夠熟練掌握 PID 算法的設計與實現(xiàn)過程,對于一般的研
    發(fā)表于 02-26 15:24