RM新时代网站-首页

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

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

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

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

如意 ? 來源:百家號 ? 作者:地中海程序員 ? 2020-06-30 17:06 ? 次閱讀

1 選擇排序法的定義

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

2 選擇排序法詳細(xì)過程解析

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

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

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

選擇排序法代碼如下:

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

排序詳細(xì)過程:

[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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4606

    瀏覽量

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

    關(guān)注

    180

    文章

    7604

    瀏覽量

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

    關(guān)注

    0

    文章

    52

    瀏覽量

    10056
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

    深度學(xué)習(xí)模型訓(xùn)練過程詳解

    詳細(xì)介紹深度學(xué)習(xí)模型訓(xùn)練的全過程,包括數(shù)據(jù)預(yù)處理、模型構(gòu)建、損失函數(shù)定義、優(yōu)化算法選擇、訓(xùn)練過程以及模型的評估與調(diào)優(yōu)。
    的頭像 發(fā)表于 07-01 16:13 ?1216次閱讀

    手把手教你排序算法怎么寫

    今天以直接插入排序算法,給大家分享一下排序算法的實現(xiàn)思路,主要包含以下部分內(nèi)容:插入排序介紹插入排序
    的頭像 發(fā)表于 06-04 08:03 ?676次閱讀
    手把手教你<b class='flag-5'>排序</b><b class='flag-5'>算法</b>怎么寫

    用FPGA實現(xiàn)雙調(diào)排序的方法(2)

    典型的排序算法包括冒泡排序、選擇排序、插入排序、歸并排序
    的頭像 發(fā)表于 03-21 10:28 ?631次閱讀
    用FPGA實現(xiàn)雙調(diào)<b class='flag-5'>排序</b>的方法(2)

    FPGA實現(xiàn)雙調(diào)排序算法的探索與實踐

    雙調(diào)排序(BitonicSort)是數(shù)據(jù)獨立(Data-independent)的排序算法,即比較順序與數(shù)據(jù)無關(guān),特別適合并行執(zhí)行。在了解雙調(diào)排序
    發(fā)表于 03-14 09:50 ?639次閱讀
    FPGA實現(xiàn)雙調(diào)<b class='flag-5'>排序</b><b class='flag-5'>算法</b>的探索與實踐

    想聽聽48和大對數(shù)光纜的排序?

    48芯光纜和大對數(shù)光纜都是光纜中的一種,它們的區(qū)別在于芯數(shù)不同。48芯光纜指的是光纜中包含48根光纖,而大對數(shù)光纜則是指光纜中芯數(shù)超過了48芯。 在實際的光纜應(yīng)用中,不同芯數(shù)的光纜需要進(jìn)行不同的排序
    的頭像 發(fā)表于 03-12 10:44 ?605次閱讀

    C語言實現(xiàn)經(jīng)典排序算法概覽

    冒泡排序(英語:Bubble Sort)是一種簡單的排序算法。它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。
    的頭像 發(fā)表于 02-25 12:27 ?444次閱讀
    C語言實現(xiàn)經(jīng)典<b class='flag-5'>排序</b><b class='flag-5'>算法</b>概覽

    LoRaWAN網(wǎng)絡(luò)服務(wù)器算法--下行路徑選擇算法對比與仿真(下)

    LoRaWAN網(wǎng)絡(luò)是典型的星型架構(gòu)網(wǎng)絡(luò),但單節(jié)點的廣播數(shù)據(jù)也可以同時被多個網(wǎng)關(guān)收到并同時上報NS服務(wù)器,對于此消息有下行需求時,需要通過NS服務(wù)器的下行網(wǎng)關(guān)選擇算法,選擇合適網(wǎng)關(guān)進(jìn)行下行。一個健全
    的頭像 發(fā)表于 02-19 12:22 ?419次閱讀
    LoRaWAN網(wǎng)絡(luò)服務(wù)器<b class='flag-5'>算法</b>--下行路徑<b class='flag-5'>選擇</b><b class='flag-5'>算法</b>對比與仿真(下)

    LoRaWAN網(wǎng)絡(luò)服務(wù)器算法--下行路徑選擇算法對比與仿真(上)

    LoRaWAN網(wǎng)絡(luò)是典型的星型架構(gòu)網(wǎng)絡(luò),但單節(jié)點的廣播數(shù)據(jù)也可以同時被多個網(wǎng)關(guān)收到并同時上報NS服務(wù)器,對于此消息有下行需求時,需要通過NS服務(wù)器的下行網(wǎng)關(guān)選擇算法,選擇合適網(wǎng)關(guān)進(jìn)行下行。一個健全
    的頭像 發(fā)表于 01-12 08:13 ?995次閱讀
    LoRaWAN網(wǎng)絡(luò)服務(wù)器<b class='flag-5'>算法</b>--下行路徑<b class='flag-5'>選擇</b><b class='flag-5'>算法</b>對比與仿真(上)
    RM新时代网站-首页