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

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

《C++從入門到入土》——?dú)w 并 排 序

2021-11-01 22:26 作者:水洗晴空Zenitsu  | 我要投稿

C++說要有順序,于是便誕生了眾多的排序算法。

眾多排序算法中有一個(gè)玄學(xué)算法——?dú)w并排序。


歸并排序有兩個(gè)步驟——先分而治之。歸并算法的核心是分治,顧名思義,分,就是把問題簡化,分割成一個(gè)個(gè)容易計(jì)算的小問題;治,則是把求得子問題的所有答案匯總成整個(gè)問題的最終答案(為毛讓我想起了動(dòng)歸?)。


首先,我們需要通過遞歸和二分的方法,將需要排序的原數(shù)組分割成多個(gè)臨時(shí)數(shù)組。每個(gè)臨時(shí)數(shù)組都是(在該次遞歸中的)原數(shù)組的一半長度,直至分割成無法再次分割的最小單位(在歸并排序中就是數(shù)組中只有一個(gè)數(shù),n=1),?這部分的時(shí)間復(fù)雜度是log2n;

接著是“并”,也通過遞歸來實(shí)現(xiàn),將每兩個(gè)已有序的臨時(shí)數(shù)組 合并成一個(gè)有序的臨時(shí)數(shù)組(對(duì)于每個(gè)臨時(shí)數(shù)組的區(qū)間來說都是有序的),將這部分有序的數(shù)還原到原數(shù)組中,最終將所有子數(shù)組合并成有序的原數(shù)組,這部分的時(shí)間復(fù)雜度是n(每個(gè)數(shù)掃一遍)。

最終的時(shí)間復(fù)雜度就是n*log2n。

詳細(xì)的見代碼描述。

有疑問評(píng)論區(qū)歡迎留言。

歸并排序示意圖

練習(xí)完的可以去洛谷P1177快速排序 提交(https://www.luogu.com.cn/problem/P1177),所有的排序題目都可以在上面提交。

如果覺得太簡單的可以嘗試洛谷P1908逆序?qū)Γ╤ttps://www.luogu.com.cn/problem/P1908),雖然不是排序,但需要用到歸并排序的思想(分治yyds)。


最后,老師的任務(wù)已經(jīng)完成了,祝愿我原神胡桃二十抽直接出金!

QwQ Orz QaQ

《C++從入門到入土》——?dú)w 并 排 序的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
望谟县| 应城市| 渭南市| 凤冈县| 连州市| 广宗县| 西林县| 岚皋县| 上栗县| 新宾| 驻马店市| 辽阳市| 沾益县| 霍林郭勒市| 东安县| 临潭县| 莲花县| 中阳县| 滨州市| 武山县| 杭锦旗| 宁陵县| 萨迦县| 兰坪| 筠连县| 赤水市| 商河县| 隆林| 临沧市| 灵台县| 桃源县| 长寿区| 六盘水市| 郯城县| 伊金霍洛旗| 海晏县| 天气| 岳池县| 黄平县| 林周县| SHOW|