最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
周宁县| 罗山县| 穆棱市| 元江| 贵南县| 定西市| 德阳市| 德庆县| 襄汾县| 静宁县| 孟州市| 卓资县| 工布江达县| 耒阳市| 辽中县| 申扎县| 金乡县| 阳泉市| 昂仁县| 江陵县| 石林| 莱西市| 巴林右旗| 博湖县| 怀集县| 绵阳市| 武隆县| 阿坝| 遂昌县| 西畴县| 娄烦县| 蕲春县| 丹凤县| 淮安市| 大新县| 鄯善县| 密山市| 辉县市| 全州县| 双流县| 雷波县|