時(shí)間復(fù)雜度和空間復(fù)雜度

時(shí)間復(fù)雜度

如何理解算法時(shí)間復(fù)雜度

1.時(shí)間復(fù)雜度,表示形式為?Big O notation?

????時(shí)間復(fù)雜度也可以理解為指令執(zhí)行多少次垮刹。好的時(shí)間復(fù)雜度程序届腐,會(huì)讓程序跑起來(lái)更快更節(jié)約資源昵观。從所有可能的解決方法中找出 時(shí)間最快、內(nèi)存最少?的最優(yōu)解決方法愉老。

2.常見(jiàn)的幾種時(shí)間復(fù)雜度

????O表示它的復(fù)雜度是n的怎樣的一個(gè)函數(shù)

? ? O(1):Constant Complexity 常數(shù)復(fù)雜度

? ??O(log n):Logarithmic Complexity 對(duì)數(shù)復(fù)雜度

? ??O(n):Linear Complexity 線性時(shí)間復(fù)雜度

? ??O(n^2):N square Complexity 平方

????O(n^3):N cubic Complexity 立方

? ??O(2^n):Exponential Complexity 指數(shù)

? ??O(n!):Factorial 階乘

常數(shù)復(fù)雜度
線性笛厦、平方?時(shí)間復(fù)雜度
對(duì)數(shù)、指數(shù) 復(fù)雜度
時(shí)間復(fù)雜度曲線

3.遞歸 時(shí)間復(fù)雜度分析

遞歸俺夕,關(guān)鍵是了解它的遞歸總共執(zhí)行了語(yǔ)句多少次裳凸。循環(huán),比較好理解劝贸,n次循環(huán)就執(zhí)行了n次語(yǔ)句姨谷。遞歸是層層嵌套的,通秤尘牛可以把它的執(zhí)行順序畫出一個(gè)樹(shù)形結(jié)構(gòu)梦湘。

時(shí)間復(fù)雜度:O(2^n)

兩個(gè)現(xiàn)象:

1.每多展開(kāi)一層,運(yùn)行的節(jié)點(diǎn)數(shù)就是上面一層的2倍件甥。第一層1個(gè)節(jié)點(diǎn)捌议,第二層2個(gè)節(jié)點(diǎn),第三層4個(gè)節(jié)點(diǎn)引有,第四層8個(gè)節(jié)點(diǎn)........以此類推瓣颅,它每一層的節(jié)點(diǎn)數(shù)即它的執(zhí)行次數(shù) 是按指數(shù)級(jí)遞增的。由此可見(jiàn)譬正,當(dāng)?shù)阶詈笠粚拥脑捁梗瑫?huì)變成2的n次方,大概這么一個(gè)數(shù)量級(jí)的節(jié)點(diǎn)曾我。那么可以肯定粉怕,最后總的執(zhí)行次數(shù),就是變成指數(shù)級(jí)了抒巢。

2.有重復(fù)的節(jié)點(diǎn)出現(xiàn)在執(zhí)行狀態(tài)數(shù)中贫贝。F1、F2蛉谜、F3都被重復(fù)計(jì)算很多次稚晚,這些大量冗余的計(jì)算凤优,導(dǎo)致求第6個(gè)數(shù)的Fibonacci數(shù)變成了2的6次方這么一個(gè)繁復(fù)的時(shí)間復(fù)雜度。面試中不要這么寫算法蜈彼,可以加緩存筑辨,把中間節(jié)點(diǎn)的結(jié)果緩存下來(lái),或者直接用循環(huán)來(lái)寫求和幸逆。

主定理

主定理:解決所有遞歸函數(shù)怎么計(jì)算時(shí)間復(fù)雜度

常用主定理

1》二分查找:有序數(shù)列棍辕,一分為二,只在一邊進(jìn)行查找还绘,O(log n)楚昭。

2》二叉樹(shù)遍歷:每次一分為二,但每一邊是相等的時(shí)間復(fù)雜度這么下去拍顷。簡(jiǎn)化思維:二叉樹(shù)遍歷每個(gè)節(jié)點(diǎn)都會(huì)訪問(wèn)一次抚太,且僅訪問(wèn)一次,O(n)昔案。

3》有序的二維矩陣:如果是一維的數(shù)組進(jìn)行二分查找為O(log n)尿贫,有序的二維矩陣二分查找時(shí),被降了一維就不是n平方的算法踏揣,而是O(n)庆亡。

4》歸并排序

空間復(fù)雜度

兩條原則:

1.如果代碼里開(kāi)了數(shù)組,那么數(shù)組的長(zhǎng)度基本上就是你的空間復(fù)雜度捞稿。譬如長(zhǎng)度為n的一維數(shù)據(jù)又谋,空間復(fù)雜度為O(n)。長(zhǎng)度為n平方的二維數(shù)組娱局,空間復(fù)雜度為O(n^2)彰亥。

2.如果有遞歸的話,遞歸的深度就是就是你的空間復(fù)雜度的最大值衰齐。如果又有數(shù)組又有遞歸任斋,那兩者之間的最大值就是你的空間復(fù)雜度。

算法分析題解答:爬樓梯

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末娇斩,一起剝皮案震驚了整個(gè)濱河市仁卷,隨后出現(xiàn)的幾起案子穴翩,更是在濱河造成了極大的恐慌犬第,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芒帕,死亡現(xiàn)場(chǎng)離奇詭異歉嗓,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)背蟆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門鉴分,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)哮幢,“玉大人,你說(shuō)我怎么就攤上這事志珍〕裙福” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵伦糯,是天一觀的道長(zhǎng)柜某。 經(jīng)常有香客問(wèn)我,道長(zhǎng)敛纲,這世上最難降的妖魔是什么喂击? 我笑而不...
    開(kāi)封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮淤翔,結(jié)果婚禮上翰绊,老公的妹妹穿的比我還像新娘。我一直安慰自己旁壮,他們只是感情好监嗜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著抡谐,像睡著了一般秤茅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上童叠,一...
    開(kāi)封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天框喳,我揣著相機(jī)與錄音,去河邊找鬼厦坛。 笑死五垮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的杜秸。 我是一名探鬼主播放仗,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼撬碟!你這毒婦竟也來(lái)了诞挨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤呢蛤,失蹤者是張志新(化名)和其女友劉穎惶傻,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體其障,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡银室,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈敢。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辜荠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抓狭,到底是詐尸還是另有隱情伯病,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布否过,位于F島的核電站狱从,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏叠纹。R本人自食惡果不足惜季研,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望誉察。 院中可真熱鬧与涡,春花似錦、人聲如沸持偏。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸿秆。三九已至酌畜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卿叽,已是汗流浹背桥胞。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留考婴,地道東北人贩虾。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沥阱,于是被迫代替她去往敵國(guó)和親缎罢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

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