99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

詳談選擇排序算法的定義和過程

如意 ? 來源:百家號 ? 作者:地中海程序員 ? 2020-06-30 17:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 選擇排序法的定義

選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找到最?。ù螅┰?,然后放到已排序的序列的末尾。以此類推,直到全部待排序的數(shù)據(jù)元素的個數(shù)為零。選擇排序是不穩(wěn)定的排序方法。(來自百度百科)

2 選擇排序法詳細過程解析

假定有這樣一個數(shù)組

int[] nums = new int[]{6, 4, 5, 1, 3, 2};

現(xiàn)在需要將他從大到小排列。

選擇排序法代碼如下:

詳談選擇排序算法的定義和過程

排序詳細過程:

[6, 4, 5, 1, 3, 2] 第一次遍歷6和2交換位置

[6, 5, 4, 1, 3, 2] 第二次遍歷5和4交換位置

[6, 5, 4, 1, 3, 2] 第三次遍歷4位置不變

[6, 5, 4, 3, 1, 2] 第四次遍歷3和1交換位置

[6, 5, 4, 3, 2, 1] 第五次遍歷2和1交換位置

3 選擇排序法時間復(fù)雜度

數(shù)據(jù)比較次數(shù):

C = (N-1)+(N-2)+……+2+1=(((N-1)+1)*(N-1)) / 2=(N^2)/2-N/2

數(shù)據(jù)交換次數(shù):

M = N-1

時間復(fù)雜度:

C+M=(N^2)/2-N/2+ N-1=O(N^2)

因此,選擇排序的時間復(fù)雜度為O(N^2)

4 結(jié)語

感謝各位的閱讀,如有問題,歡迎大家留言反饋,我會在第一時間修正。

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

    關(guān)注

    23

    文章

    4706

    瀏覽量

    95158
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7631

    瀏覽量

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

    關(guān)注

    0

    文章

    53

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    HarmonyOS實戰(zhàn):自定義時間選擇

    前言 最近在日常鴻蒙開發(fā)過程中,經(jīng)常會使用一些時間選擇器,鴻蒙官方提供的時間選擇器滿足不了需求,所以自己動手自定義一些經(jīng)常會使用到的時間選擇
    的頭像 發(fā)表于 06-09 15:51 ?154次閱讀
    HarmonyOS實戰(zhàn):自<b class='flag-5'>定義</b>時間<b class='flag-5'>選擇</b>器

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

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

    如何選擇適合您的過程控制器?

    在現(xiàn)代工業(yè)中,過程控制器是確保生產(chǎn)效率、質(zhì)量和安全性的關(guān)鍵設(shè)備。它們可以精準監(jiān)測溫度、濕度等變量,優(yōu)化制造流程。但您是否清楚如何選擇合適的過程控制器?
    的頭像 發(fā)表于 04-18 17:54 ?245次閱讀
    如何<b class='flag-5'>選擇</b>適合您的<b class='flag-5'>過程</b>控制器?

    數(shù)字電路—13、數(shù)據(jù)選擇

    數(shù)據(jù)選擇定義:在多路數(shù)據(jù)傳送過程中,能夠根據(jù)需要將其中任意一路挑選出來的電路,叫做數(shù)據(jù)選擇器, 也稱為多路選擇器,其作用相當于多路開關(guān)。
    發(fā)表于 03-26 11:13

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

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

    DLPC7540EVM是否支持自定義的圖像處理算法,以及如何進行算法的移植?

    是否支持自定義的圖像處理算法,以及如何進行算法的移植?
    發(fā)表于 02-17 08:25

    詳解Linux sort命令之掌握排序技巧與實用案例

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

    TimSort:一個在標準函數(shù)庫中廣泛使用的排序算法

    在計算機科學的領(lǐng)域,排序算法是每位學生必學的基礎(chǔ),而排序的需求是每位程序員在編程過程中都會遇到的。 在你輕松調(diào)用 .sort() 方法對數(shù)據(jù)進行排序
    的頭像 發(fā)表于 01-03 11:42 ?554次閱讀

    加密算法選擇對于加密安全有多重要?

    加密算法選擇對于加密安全至關(guān)重要,因為它直接影響到數(shù)據(jù)保護的有效性和可靠性。以下是幾個關(guān)鍵點來說明加密算法選擇的重要性: 加密強度: 加密算法
    的頭像 發(fā)表于 12-17 15:59 ?498次閱讀

    智能選擇ADC/DAC可實現(xiàn)更好的軟件定義無線電設(shè)計

    電子發(fā)燒友網(wǎng)站提供《智能選擇ADC/DAC可實現(xiàn)更好的軟件定義無線電設(shè)計.pdf》資料免費下載
    發(fā)表于 10-21 09:59 ?0次下載
    智能<b class='flag-5'>選擇</b>ADC/DAC可實現(xiàn)更好的軟件<b class='flag-5'>定義</b>無線電設(shè)計

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

    , O(n2) 的排序算法可能會比 O(nlogn) 的排序算法執(zhí)行效率高。不過隨著數(shù)據(jù)規(guī)模增大, O(nlogn) 的排序
    的頭像 發(fā)表于 10-19 16:31 ?1689次閱讀
    時間復(fù)雜度為 O(n^2) 的<b class='flag-5'>排序</b><b class='flag-5'>算法</b>

    TPS54120排序和跟蹤

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

    使用qboot時選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報錯,為什么?

    在使用qboot時選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報錯,如下圖:
    發(fā)表于 09-26 07:22

    bp神經(jīng)網(wǎng)絡(luò)算法過程包括

    算法過程,包括網(wǎng)絡(luò)結(jié)構(gòu)、激活函數(shù)、訓練過程、反向傳播算法、權(quán)重更新策略等。 網(wǎng)絡(luò)結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成,每層包含若干神經(jīng)元。輸入層的神經(jīng)元數(shù)量與問題的特征維度
    的頭像 發(fā)表于 07-04 09:45 ?926次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的推導過程

    反向傳播算法的推導過程,包括前向傳播、損失函數(shù)、梯度計算和權(quán)重更新等步驟。 前向傳播 前向傳播是神經(jīng)網(wǎng)絡(luò)中信息從輸入層到輸出層的傳遞過程。在多層前饋神經(jīng)網(wǎng)絡(luò)中,每個神經(jīng)元都與前一層的所有神經(jīng)元相連,并通過激活函數(shù)進行非線性變換。
    的頭像 發(fā)表于 07-03 11:13 ?1030次閱讀