五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
九龙城区| 横山县| 余干县| 沾化县| 莆田市| 二手房| 青阳县| 汕头市| 镇原县| 麻阳| 昔阳县| 丹江口市| 望谟县| 宁强县| 九龙城区| 上杭县| 泸溪县| 静宁县| 积石山| 报价| 肥乡县| 平顺县| 翁牛特旗| 朝阳市| 西乌珠穆沁旗| 临汾市| 威信县| 南川市| 衡阳县| 太谷县| 鄂托克前旗| 东乌珠穆沁旗| 临邑县| 靖宇县| 连山| 贡山| 大新县| 盱眙县| 平定县| 鸡泽县| 塔城市|