03-復(fù)雜度分析

一裸违、什么是復(fù)雜度分析?

  1. 數(shù)據(jù)結(jié)構(gòu)和算法解決是“如何讓計(jì)算機(jī)更快時(shí)間千扶、更省空間的解決問題”勉抓。
  2. 因此需從執(zhí)行時(shí)間和占用空間兩個(gè)維度來評(píng)估數(shù)據(jù)結(jié)構(gòu)和算法的性能骇吭。
  3. 分別用時(shí)間復(fù)雜度和空間復(fù)雜度兩個(gè)概念來描述性能問題吨述,二者統(tǒng)稱為復(fù)雜度岩睁。
  4. 復(fù)雜度描述的是算法執(zhí)行時(shí)間(或占用空間)與數(shù)據(jù)規(guī)模的增長(zhǎng)關(guān)系。

二揣云、為什么要進(jìn)行復(fù)雜度分析?

  1. 和性能測(cè)試相比捕儒,復(fù)雜度分析有不依賴執(zhí)行環(huán)境、成本低、效率高刘莹、易操作阎毅、指導(dǎo)性強(qiáng)的特點(diǎn)。
  2. 掌握復(fù)雜度分析点弯,將能編寫出性能更優(yōu)的代碼扇调,有利于降低系統(tǒng)開發(fā)和維護(hù)成本。

三抢肛、如何進(jìn)行復(fù)雜度分析?

  1. 大O表示法
    1)來源
    算法的執(zhí)行時(shí)間與每行代碼的執(zhí)行次數(shù)成正比肃拜,用T(n) = O(f(n))表示,其中T(n)表示算法執(zhí)行總時(shí)
    間雌团,f(n)表示每行代碼執(zhí)行總次數(shù)燃领,而n往往表示數(shù)據(jù)的規(guī)模。
    2)特點(diǎn)
    以時(shí)間復(fù)雜度為例锦援,由于時(shí)間復(fù)雜度描述的是算法執(zhí)行時(shí)間與數(shù)據(jù)規(guī)模的增長(zhǎng)變化趨勢(shì)猛蔽,所以常量
    階、低階以及系數(shù)實(shí)際上對(duì)這種增長(zhǎng)趨勢(shì)不產(chǎn)決定性影響灵寺,所以在做時(shí)間復(fù)雜度分析時(shí)忽略這些項(xiàng)曼库。
  2. 復(fù)雜度分析法則
    1)單段代碼看高頻:比如循環(huán)。
    2)多段代碼取最大:比如一段代碼中有單循環(huán)和多重循環(huán)略板,那么取多重循環(huán)的復(fù)雜度毁枯。
    3)嵌套代碼求乘積:比如遞歸、多重循環(huán)等
    4)多個(gè)規(guī)模求加法:比如方法有兩個(gè)參數(shù)控制兩個(gè)循環(huán)的次數(shù)叮称,那么這時(shí)就取二者復(fù)雜度相加种玛。

四、常用的復(fù)雜度級(jí)別?

  1. 多項(xiàng)式階
    隨著數(shù)據(jù)規(guī)模的增長(zhǎng)瓤檐,算法的執(zhí)行時(shí)間和空間占用赂韵,按照多項(xiàng)式的比例增長(zhǎng)。包括挠蛉,O(1)(常數(shù)階)祭示、O(logn)(對(duì)數(shù)階)、O(n)(線性階)谴古、O(nlogn)(線性對(duì)數(shù)階)质涛、O(n^2)(平
    方階)、O(n^3)(立方階)
  2. 非多項(xiàng)式階
    隨著數(shù)據(jù)規(guī)模的增長(zhǎng)掰担,算法的執(zhí)行時(shí)間和空間占用暴增汇陆,這類算法性能極差。包括恩敌,O(2^n)(指數(shù)階)瞬测、O(n!)(階乘階)

五、如何掌握好復(fù)雜度分析方法?

復(fù)雜度分析關(guān)鍵在于多練,所謂孰能生巧月趟。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灯蝴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子孝宗,更是在濱河造成了極大的恐慌穷躁,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件因妇,死亡現(xiàn)場(chǎng)離奇詭異问潭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)婚被,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門狡忙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人址芯,你說我怎么就攤上這事灾茁。” “怎么了谷炸?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵北专,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我旬陡,道長(zhǎng)拓颓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任描孟,我火速辦了婚禮驶睦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘画拾。我一直安慰自己啥繁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布青抛。 她就那樣靜靜地躺著,像睡著了一般酬核。 火紅的嫁衣襯著肌膚如雪蜜另。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天嫡意,我揣著相機(jī)與錄音举瑰,去河邊找鬼。 笑死蔬螟,一個(gè)胖子當(dāng)著我的面吹牛此迅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼耸序,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼忍些!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坎怪,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤罢坝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后搅窿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘁酿,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年男应,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了闹司。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沐飘,死狀恐怖开仰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布详羡,位于F島的核電站撕贞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏廉邑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滨达。 院中可真熱鬧,春花似錦俯艰、人聲如沸捡遍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)画株。三九已至,卻和暖如春啦辐,著一層夾襖步出監(jiān)牢的瞬間谓传,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工芹关, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留续挟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓侥衬,卻偏偏與公主長(zhǎng)得像诗祸,于是被迫代替她去往敵國(guó)和親跑芳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容