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

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

九、常用基礎(chǔ)算法

2023-03-17 21:16 作者:努力賺錢養(yǎng)朵朵  | 我要投稿


綠色:需要掌握了解;紅色:需要會(huì)寫會(huì)用或很重要。

本章節(jié)主要是寫一些基礎(chǔ)算法,一般運(yùn)用在模擬類型的題目。


圖形輸出

此類題目都是模擬輸出圖形,可以1)觀察其規(guī)律而后按行列循環(huán)輸出,或者2)空間換時(shí)間創(chuàng)建二維數(shù)組給值后輸出。一般情況下使用方法2)的代碼容易編寫,但空間復(fù)雜度略高(數(shù)據(jù)規(guī)模小時(shí)放心用)。

常見題型有:楊輝三角形及其變體、打印沙漏、矩陣輸入輸出等。


暴力枚舉(下稱爆破)

在章節(jié)三、C++11標(biāo)準(zhǔn)庫準(zhǔn)備知識(shí)中,有提及判斷算法是否會(huì)超時(shí)的辦法,即設(shè)計(jì)的算法執(zhí)行運(yùn)算的次數(shù)不能超過10^8。因此,當(dāng)判斷運(yùn)算次數(shù)不會(huì)超過10^8且沒有優(yōu)化的需求時(shí),大膽爆破

例如:

①N是絕對(duì)值小于1e4的整數(shù)時(shí),設(shè)計(jì)的時(shí)間復(fù)雜度O(N2)的算法(10^8<=10^8);

②N是絕對(duì)值小于5e2的整數(shù)時(shí),設(shè)計(jì)的時(shí)間復(fù)雜度O(N3)的算法(1.25*10^8≈10^8,實(shí)際有點(diǎn)風(fēng)險(xiǎn))。

個(gè)別情況需要讀者酌情考慮是否使用暴力枚舉,在此不多贅述。


打表

打表是常見的空間換時(shí)間行為,即把已經(jīng)算過的值存起來便于下次使用,在遞歸的迭代寫法和動(dòng)態(tài)規(guī)劃算法中都可能運(yùn)用到。本質(zhì)是一種便于查詢使用和減少計(jì)算、降低總體時(shí)間復(fù)雜度的方法。例如分解2-N的質(zhì)因數(shù)時(shí),不需要對(duì)于每個(gè)N都從2~sqrt(N)循環(huán)分解,可以先計(jì)算出2到最大范圍的平方根的數(shù)的質(zhì)數(shù)表,便于計(jì)算。


進(jìn)制轉(zhuǎn)換

①十進(jìn)制轉(zhuǎn)為R進(jìn)制(除基數(shù)取余數(shù)法的do-while形式)

②R進(jìn)制轉(zhuǎn)十進(jìn)制

③R1進(jìn)制轉(zhuǎn)R2進(jìn)制(R1進(jìn)制轉(zhuǎn)十進(jìn)制,再十進(jìn)制轉(zhuǎn)R2進(jìn)制即可,代碼就上面?zhèn)z函數(shù)擱一起)

注:若轉(zhuǎn)換得到的數(shù)的位數(shù)超過最大整型類型long long能容納的范圍,即大數(shù)轉(zhuǎn)換本質(zhì)是大數(shù)的乘除法算法)。


二分查找

1.標(biāo)準(zhǔn)庫的二分查找函數(shù):lower_bound、upper_bound、equal_range、binary_search。

2.自己實(shí)現(xiàn)binary_search(升序序列查找x的位置):

lower_bound(非遞減序列查找第一個(gè)大于等于x的位置)實(shí)現(xiàn):

??

九、常用基礎(chǔ)算法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
兴文县| 鲁山县| 河东区| 正镶白旗| 禄丰县| 太谷县| 巩留县| 虎林市| 渑池县| 深水埗区| 宝山区| 芜湖市| 阳东县| 克拉玛依市| 南昌县| 新建县| 通州区| 五华县| 永年县| 花莲市| 鲁山县| 五台县| 客服| 新平| 革吉县| 阿克陶县| 六盘水市| 扎兰屯市| 嵩明县| 新建县| 赤水市| 宣汉县| 定边县| 开阳县| 麻栗坡县| 景德镇市| 曲水县| 临清市| 富川| 盐津县| 石城县|