在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

簡單選擇排序算法的流程,代碼,性能等詳細資料概述

算法與數據結構 ? 來源:未知 ? 作者:易水寒 ? 2018-08-18 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡單選擇排序是一種選擇排序。

選擇排序:每趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排序的記錄序列末尾,直到全部排序結束為止。

簡單排序處理流程

(1)從待排序序列中,找到關鍵字最小的元素;

(2)如果最小元素不是待排序序列的第一個元素,將其和第一個元素互換;

(3)從余下的 N - 1 個元素中,找出關鍵字最小的元素,重復(1)、(2)步,直到排序結束。

如圖所示,每趟排序中,將當前第 i 小的元素放在位置 i 上。

核心代碼

publicvoidselectionSort(int[]list){//需要遍歷獲得最小值的次數//要注意一點,當要排序N個數,已經經過N-1次遍歷后,已經是有序數列for(inti=0;ilist[j]){index=j;}}//將找到的第i個小的數值放在第i個位置上temp=list[index];list[index]=list[i];list[i]=temp;System.out.format("第%d趟: ",i+1);printAll(list);}}算法分析

簡單選擇排序算法的性能

時間復雜度

簡單選擇排序的比較次數與序列的初始排序無關。 假設待排序的序列有 N 個元素,則比較次數總是N (N - 1) / 2。

而移動次數與序列的初始排序有關。當序列正序時,移動次數最少,為 0.

當序列反序時,移動次數最多,為3N (N - 1) / 2。

所以,綜合以上,簡單排序的時間復雜度為O(N2)。

空間復雜度

簡單選擇排序需要占用 1 個臨時空間,在交換數值時使用。

完整參考代碼

JAVA版本

代碼實現

1packagenotes.javase.algorithm.sort;23importjava.util.Random;45publicclassSelectionSort{67publicvoidselectionSort(int[]list){8//需要遍歷獲得最小值的次數9//要注意一點,當要排序N個數,已經經過N-1次遍歷后,已經是有序數列10for(inti=0;ilist[j]){17index=j;18}19}2021//將找到的第i個小的數值放在第i個位置上22temp=list[index];23list[index]=list[i];24list[i]=temp;2526System.out.format("第%d趟: ",i+1);27printAll(list);28}29}3031//打印完整序列32publicvoidprintAll(int[]list){33for(intvalue:list){34System.out.print(value+" ");35}36System.out.println();37}3839publicstaticvoidmain(String[]args){40//初始化一個隨機序列41finalintMAX_SIZE=10;42int[]array=newint[MAX_SIZE];43Randomrandom=newRandom();44for(inti=0;i

運行結果

排序前:3528120841第1趟:0528123841第2趟:0128523841第3趟:0118523842第4趟:0112583842第5趟:0112283845第6趟:0112238845第7趟:0112234885第8趟:0112234588第9趟:0112234588排序后:0112234588

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

    關注

    23

    文章

    4707

    瀏覽量

    95203
  • 代碼
    +關注

    關注

    30

    文章

    4895

    瀏覽量

    70553
  • 排序
    +關注

    關注

    0

    文章

    32

    瀏覽量

    9841

原文標題:排序算法總結(6):簡單選擇排序

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    調制解調器和積分器算法程序的詳細資料概述

    本文的主要內容介紹的是調制解調器和積分器算法程序的詳細資料概述
    發表于 04-28 10:20 ?11次下載
    調制解調器和積分器<b class='flag-5'>算法</b>程序的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    TI的基于DSP兼容的第三方算法協議的詳細資料概述

    本文的主要內容介紹的是TI的基于DSP兼容的第三方算法協議的詳細資料概述
    發表于 05-07 17:04 ?8次下載
    TI的基于DSP兼容的第三方<b class='flag-5'>算法</b>協議的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    Stellaris系列產品的選擇詳細資料概述

    本文的主要內容介紹的是TI的產品Stellaris系列產品的選擇詳細資料概述
    發表于 05-09 15:59 ?8次下載
    Stellaris系列產品的<b class='flag-5'>選擇</b><b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    9013流水燈的介紹和設計詳細資料概述

    一個簡單流水燈9013流水燈的介紹和設計詳細資料概述
    發表于 06-05 08:00 ?0次下載
    9013流水燈的介紹和設計<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    常用的非比較排序算法:計數排序,基數排序,桶排序詳細資料概述

    這篇文章中我們來探討一下常用的非比較排序算法:計數排序,基數排序,桶排序。在一定條件下,它們的時間復雜度可以達到O(n)。
    的頭像 發表于 06-18 15:11 ?7443次閱讀
    常用的非比較<b class='flag-5'>排序</b><b class='flag-5'>算法</b>:計數<b class='flag-5'>排序</b>,基數<b class='flag-5'>排序</b>,桶<b class='flag-5'>排序</b>的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    開關電源的正激變換器基本工作原理及元器件如何選擇詳細資料概述

    開關電源的正激變換器基本工作原理及元器件如何選擇詳細資料概述
    的頭像 發表于 07-17 19:13 ?1.5w次閱讀
    開關電源的正激變換器基本工作原理及元器件如何<b class='flag-5'>選擇</b><b class='flag-5'>等</b><b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    PID程序算法詳細資料概述免費下載

    本文檔的主要內容詳細介紹的是PID程序算法詳細資料概述免費下載
    發表于 07-24 08:00 ?36次下載

    SV601187的詳細資料合集包括了電路圖,原理圖和介紹詳細資料概述

    本文檔的主要內容詳細介紹的是SV601187的詳細資料合集包括了電路圖,原理圖和介紹詳細資料概述
    發表于 07-30 08:00 ?18次下載
    SV601187的<b class='flag-5'>詳細資料</b>合集包括了電路圖,原理圖和介紹<b class='flag-5'>等</b><b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    如何使用萬用表簡單判斷旋轉編碼器?的詳細資料概述

    本文檔的主要內容詳細介紹的是如何使用萬用表簡單判斷旋轉編碼器?的詳細資料概述
    發表于 09-10 08:00 ?15次下載

    幾種c語言程序的排序包括應用程序資料免費下載

    本文檔的主要內容詳細介紹的是幾種c語言程序的排序包括應用程序好資料免費下載包括了:堆排序,改進冒泡排序,歸并
    發表于 09-29 08:00 ?6次下載
    幾種c語言程序的<b class='flag-5'>排序</b>包括應用程序<b class='flag-5'>等</b><b class='flag-5'>資料</b>免費下載

    C語言教程之如何選擇結構程序設計的詳細資料概述

    本文檔的主要內容詳細介紹的是C語言教程之如何選擇結構程序設計的詳細資料概述
    發表于 11-02 10:53 ?3次下載
    C語言教程之如何<b class='flag-5'>選擇</b>結構程序設計的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    數碼管跑馬燈實驗的目標和流程圖及程序的詳細資料概述

    本文檔的主要內容詳細介紹的是數碼管跑馬燈實驗的目標和流程圖及程序的詳細資料概述免費下載。
    發表于 11-12 08:00 ?17次下載
    數碼管跑馬燈實驗的目標和<b class='flag-5'>流程</b>圖及程序的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    FPGA視頻教程之FPGA開發流程詳細資料概述

    本文檔的主要內容詳細介紹的是FPGA視頻教程之FPGA開發流程詳細資料概述免費下載。
    發表于 03-01 11:35 ?11次下載
    FPGA視頻教程之FPGA開發<b class='flag-5'>流程</b>的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    圖論算法及MATLAB程序代碼詳細資料說明

    本文檔的主要內容詳細介紹的是圖論算法及MATLAB程序代碼詳細資料說明。
    發表于 04-23 08:00 ?0次下載
    圖論<b class='flag-5'>算法</b>及MATLAB程序<b class='flag-5'>代碼</b>的<b class='flag-5'>詳細資料</b>說明

    解析數據結構的常用七大排序算法

    為了讓大家掌握多種排序方法的基本思想,本篇文章帶著大家對數據結構的常用七大算法進行分析:包括直接插入排序、希爾排序、冒泡排序、快速
    的頭像 發表于 03-16 08:22 ?1961次閱讀
    主站蜘蛛池模板: 亚洲精品老司机综合影院 | 狠狠色成色综合网 | 天堂网2021天堂手机版丶 | 久久影视免费体验区午夜啪啪 | 四虎影院在线免费 | 黄色免费网站在线观看 | 上课被同桌强行摸下面小黄文 | h小视频在线观看网 | 二区视频在线 | 狠狠色丁香婷婷综合小时婷婷 | 色月| 午夜毛片不卡高清免费 | 欧美成人综合在线 | 深夜视频在线观看免费 | 亚洲涩色| 日本黄色片在线播放 | 国产精品1区2区3区在线播放 | 日本系列 1页 亚洲系列 | 狠狠色丁香久久婷婷综合丁香 | 天天干天天操天天做 | 1024手机在线观看你懂的 | 黄色在线观看网址 | 亚洲午夜精品久久久久久成年 | 久久久久国产免费 | 91九色成人 | 婷婷四房播客五月天 | 成片免费的禁v影片 | 人人洗澡人人洗澡人人 | 一区二区三区免费 | 色婷婷激情五月综合 | 国产午夜免费视频片夜色 | 日本视频不卡 | 婷婷色人阁 | 性色综合 | 欧美网站视频 | 99pao强力打造免费高清色 | 伊人久久天堂 | 久久久久国产精品四虎 | 国产高清视频在线免费观看 | 在线理论视频 | 免费四虎永久在线精品 |