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

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

C++基礎(chǔ)語(yǔ)法梳理:算法丨十大排序算法(二)

2021-09-25 22:41 作者:C語(yǔ)言編程__Plus  | 我要投稿

本期是C++基礎(chǔ)語(yǔ)法分享的第十六節(jié),今天給大家來(lái)梳理一下十大排序算法后五個(gè)!


歸并排序

歸并排序:把數(shù)據(jù)分為兩段,從兩段中逐個(gè)選最小的元素移入新數(shù)據(jù)段的末尾??蓮纳系较禄驈南碌缴线M(jìn)行。

希爾排序

希爾排序:每一輪按照事先決定的間隔進(jìn)行插入排序,間隔會(huì)依次縮小,最后一次一定要是1。

計(jì)數(shù)排序

計(jì)數(shù)排序:統(tǒng)計(jì)小于等于該元素值的元素的個(gè)數(shù)i,于是該元素就放在目標(biāo)數(shù)組的索引i位(i≥0)。

計(jì)數(shù)排序基于一個(gè)假設(shè),待排序數(shù)列的所有數(shù)均為整數(shù),且出現(xiàn)在(0,k)的區(qū)間之內(nèi)。

如果 k(待排數(shù)組的最大值) 過(guò)大則會(huì)引起較大的空間復(fù)雜度,一般是用來(lái)排序 0 到 100 之間的數(shù)字的最好的算法,但是它不適合按字母順序排序人名。

計(jì)數(shù)排序不是比較排序,排序的速度快于任何比較排序算法。

時(shí)間復(fù)雜度為 O(n+k),空間復(fù)雜度為 O(n+k)

算法的步驟如下:

1. 找出待排序的數(shù)組中最大和最小的元素

2. 統(tǒng)計(jì)數(shù)組中每個(gè)值為 i 的元素出現(xiàn)的次數(shù),存入數(shù)組 C 的第 i 項(xiàng)

3. 對(duì)所有的計(jì)數(shù)累加(從 C 中的第一個(gè)元素開(kāi)始,每一項(xiàng)和前一項(xiàng)相加)

4. 反向填充目標(biāo)數(shù)組:將每個(gè)元素 i 放在新數(shù)組的第 C[i] 項(xiàng),每放一個(gè)元素就將 C[i] 減去 1

桶排序

桶排序:將值為i的元素放入i號(hào)桶,最后依次把桶里的元素倒出來(lái)。

桶排序序思路:

1. 設(shè)置一個(gè)定量的數(shù)組當(dāng)作空桶子。

2. 尋訪序列,并且把項(xiàng)目一個(gè)一個(gè)放到對(duì)應(yīng)的桶子去。

3. 對(duì)每個(gè)不是空的桶子進(jìn)行排序。

4. 從不是空的桶子里把項(xiàng)目再放回原來(lái)的序列中。

假設(shè)數(shù)據(jù)分布在[0,100)之間,每個(gè)桶內(nèi)部用鏈表表示,在數(shù)據(jù)入桶的同時(shí)插入排序,然后把各個(gè)桶中的數(shù)據(jù)合并。


基數(shù)排序

基數(shù)排序:一種多關(guān)鍵字的排序算法,可用桶排序?qū)崿F(xiàn)。

今天的分享就到這里了,大家要好好學(xué)C++喲~

寫在最后:對(duì)于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開(kāi)始!

微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!



C++基礎(chǔ)語(yǔ)法梳理:算法丨十大排序算法(二)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
平安县| 苍南县| 夏邑县| 襄城县| 通州区| 宜丰县| 额敏县| 长子县| 土默特右旗| 株洲市| 大理市| 西乌珠穆沁旗| 乌拉特中旗| 玉山县| 平远县| 宜川县| 天气| 绥中县| 徐汇区| 台州市| 花莲市| 灵武市| 应城市| 葫芦岛市| 大新县| 株洲市| 迭部县| 新乡市| 靖安县| 鱼台县| 东宁县| 称多县| 安远县| 仙游县| 德钦县| 阜新市| 迭部县| 时尚| 交城县| 湘乡市| 灵宝市|