算法——選擇排序

很多的算法的基本條件都是對(duì)有序數(shù)據(jù)進(jìn)行操作,最簡單的例子就是昨天講到的二分查找。在實(shí)際生活中,并不是所有的數(shù)據(jù)都是有序的,很多數(shù)據(jù)需要我們先進(jìn)行排序再進(jìn)行下一步的操作。

今天要說的是選擇排序selectionSort。

選擇排序簡單說就是,每次比較所有的元素,選出最大或者最小的元素。

打個(gè)比方,0-9共有10個(gè)元素,你想要確定最小的元素是誰,怎么做呢?你需要用把所有的元素看一遍,選出最小的,次數(shù)為10;如何找第二小的元素呢?再次遍歷,次數(shù)為9,依次876......總的運(yùn)行次數(shù)就是1/2*(n+1)n但是為什么查資料看到的時(shí)間復(fù)雜度都是O(n^2)呢?這是因?yàn)镺表示法通常省略常數(shù)。

不知道關(guān)于選擇排序說清楚了沒有,沒有的話看具體的代碼實(shí)現(xiàn),我分別作了降序和升序的實(shí)現(xiàn),如下。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是每一次從待排序的數(shù)據(jù)元素中選出最小...
    NiceBlueChai閱讀 2,201評(píng)論 0 1
  • 原理 每一趟從待排序的記錄中選出最小的元素,順序放在已排好序的序列最后,直到全部記錄排序完畢。也就是:每一趟在n-...
    行人墨客閱讀 335評(píng)論 0 0
  • 聲明:算法和數(shù)據(jù)結(jié)構(gòu)的文章均是作者從github上翻譯過來,為方便大家閱讀。如果英語閱讀能力強(qiáng)的朋友,可以直接到s...
    UnsanYL閱讀 697評(píng)論 0 3
  • 概述:排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,829評(píng)論 0 15
  • 天才槍手,拍出了考場上的緊張氣氛和高智商作弊的驚心動(dòng)魄。其實(shí),作為一名監(jiān)考老師,唯一的樂趣就是觀察考生。今天,就來...
    我愛小媛寶閱讀 285評(píng)論 10 7

友情鏈接更多精彩內(nèi)容