国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

選擇排序(Selection Sort)

2022-08-29 21:10 作者:游俠翻滾  | 我要投稿

基本概念

選擇排序(Selection-sort)是一種簡單直觀的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最?。ù螅┰兀缓蠓诺揭雅判蛐蛄械哪┪?。以此類推,直到所有元素均排序完畢。

動畫演示:

選擇排序

紅色的是當(dāng)次循環(huán)最小值,黃色的是已執(zhí)行完的數(shù)據(jù),綠色的是當(dāng)前搜索的元素

從上圖我們可以很明顯的看出來選擇排序的執(zhí)行方式,對此我們進(jìn)行總結(jié)了幾點:

1. 讀入數(shù)據(jù)存放在a數(shù)組中

2. 在a[1]~a[n]中選擇值最小的元素與第一位的元素進(jìn)行調(diào)換,則把最小的元素放在a[1]中

3. 在a[2]~a[n]中選擇值最小的元素與第二位元素進(jìn)行調(diào)換,則把最小的元素放在a[2]中

4. 直到第n- 1個元素與第n個元素比較排序為止(重復(fù)執(zhí)行該內(nèi)容)

選擇排序的缺點也很明顯且致命,即

1,時間復(fù)雜度高。

2,不是穩(wěn)定的排序算法,因為每次找到最小的值后會進(jìn)行交換位置的操作。

3,最壞和最好情況都是O(n2)的復(fù)雜度。若有n個元素則都得執(zhí)行n次。

這個排序方法是表現(xiàn)最穩(wěn)定的排序算法之一,因為無論什么數(shù)據(jù)進(jìn)去都是O(n2)的時間復(fù)雜度,所以用到它的時候,數(shù)據(jù)規(guī)模越小越好。這個排序唯一的好處可能就是不占用額外的內(nèi)存空間吧。

程序?qū)崿F(xiàn)

?程序?qū)崿F(xiàn)方法,用兩層循環(huán)完成算法,外層循環(huán)i 控制當(dāng)前序列最小值存放的數(shù)組位置,內(nèi)層循環(huán)j 值控制從i +1到序列中最小的元素所在位置k。

具體操作如下:


好了,選擇排序就講到這里了

在此,部分借鑒了知乎阿杰同學(xué)(https://zhuanlan.zhihu.com/p/449501682)

模板以及部分代碼借鑒了《信息學(xué)奧賽一本(C++)》

選擇排序(Selection Sort)的評論 (共 條)

分享到微博請遵守國家法律
大理市| 晋城| 辛集市| 唐海县| 巴彦县| 漳浦县| 五莲县| 奉贤区| 灌南县| 富裕县| 建水县| 正安县| 榕江县| 会泽县| 苍溪县| 哈尔滨市| 囊谦县| 横山县| 澄迈县| 石台县| 三亚市| 克拉玛依市| 博客| 广安市| 综艺| 紫金县| 磴口县| 聂拉木县| 栖霞市| 吉木萨尔县| 永新县| 长阳| 武穴市| 通道| 黑河市| 通江县| 垣曲县| 大化| 金湖县| 宜兴市| 陆丰市|