《數(shù)據(jù)結(jié)構(gòu)與算法》第二課:算法

Bo主前言:

? ? ? 自清明以來祈噪,Bo主是感冒發(fā)燒頭痛牙疼,所以一直拖到現(xiàn)在才發(fā)第二課啡邑。第二課相比第一課概念的東西少很多产徊,主要介紹了算法昂勒、算法的時間復(fù)雜度算法的空間復(fù)雜度的概念以及計算方法,掌握此篇博客的內(nèi)容有利于日后解決相關(guān)的計算題舟铜,所以加油吧戈盈!還有就是,注意身體谆刨。

2.1 算法是什么塘娶?
2.2 算法的時間復(fù)雜度
? ? 2.2.1 推導(dǎo)大O階方法
? ? 2.2.2 算法比較
2.3 算法的空間復(fù)雜度

在《數(shù)據(jù)結(jié)構(gòu)與算法》這門學(xué)科中,由學(xué)科題目就可以看出數(shù)據(jù)結(jié)構(gòu)與算法是不可分割的痊夭,是同等重要的刁岸。

在許多大牛的博客和書中都會提到一句話:若把數(shù)據(jù)結(jié)構(gòu)比喻成肉體,算法則是靈魂她我。

由此可見难捌,算法的重要性不言自明膝宁!

那么鸦难,算法到底是什么呢根吁?我們該如何才能學(xué)好算法呢?


2.1 算法是什么合蔽?

算法這個詞击敌,對于大多數(shù)非計算機專業(yè)人員來說還是挺陌生的。就像我在沒上專業(yè)課之前拴事,也沒聽說過算法一詞沃斤,不過其實早在小學(xué)甚至更早,我們就已經(jīng)運用到了算法的概念刃宵,只是當(dāng)時不是以算法一詞來稱謂衡瓶。

小學(xué)的時候,數(shù)學(xué)老師常說要試著用不同的解題思路來解決同一個問題牲证,這里的解題思路其實就是算法哮针。

算法,即解決問題的方法坦袍。

解決上班交通問題十厢,我們可以采用乘坐出租車,乘坐大巴車捂齐,乘坐私家車等方式蛮放,當(dāng)然為了響應(yīng)國家低碳生活的號召,也可以選擇走路奠宜。

在這里包颁,我們用了不同的方式來解決上班交通問題,那么對于不同的方式压真,有什么優(yōu)缺點呢娩嚼?

這里就涉及到了算法比較的問題。

我們就拿乘坐出租車和乘坐大巴車來做比較榴都。乘坐出租車通常會比大巴車更快到底目的地待锈,但出租車的費用通常也會比大巴車要高。所以嘴高,對于不同的算法竿音,并沒有完美的可以兼顧所有問題的算法,只是根據(jù)你的側(cè)重點來選擇拴驮,若更加側(cè)重效率春瞬,你可以選擇乘坐出租車的方式;若更加側(cè)重金錢套啤,你也可以選擇乘坐大巴車的方式宽气。


2.2 算法的時間復(fù)雜度

在進行算法分析和比較時随常,通常將算法的時間復(fù)雜度算法的空間復(fù)雜度作為評階標(biāo)準。

算法的時間復(fù)雜度:即隨著問題規(guī)模的增大萄涯,算法執(zhí)行時間的增長規(guī)模绪氛。

如何計算算法的時間復(fù)雜度,在對算法的事前分析預(yù)估和研究生入學(xué)考試都是相當(dāng)重要的涝影。

2.2.1 推導(dǎo)大O階方法

在這里枣察,我們采用推導(dǎo)大O階方法來計算算法的時間復(fù)雜度。

1.? 用1取代運行時間中的所有加法常數(shù)
2. 在修改后的運行次數(shù)函數(shù)中燃逻,只保留最高階項
3. 如果最高階項存在且不是1序目,則去除這個項相乘的常數(shù)
得到的結(jié)果就是大O階。

由此伯襟,我們得到了一個計算算法時間復(fù)雜度的萬能公式猿涨,可是在計算時間復(fù)雜度時,可沒這么簡單姆怪。

2.2.2 算法比較

當(dāng)問題的規(guī)模增大時叛赚,算法的時間復(fù)雜度通常被分為

1.? 常數(shù)階:O(1)
2. 線性階:O(n)
3. 對數(shù)階:O(logn)
4. 平方階:O(n^2)
5. 指數(shù)階:O(2^n)

常用的時間復(fù)雜度所消耗的時間從小到大依次是:

O(1)<O(n)<O(logn)<O(n^2)<O(2^n)<O(n^n)

2.3 算法的空間復(fù)雜度

算法的空間復(fù)雜度通過計算算法所需要的存儲空間實現(xiàn)。算法執(zhí)行期間所需要的存儲空間包括3部分:

1. 算法程序所占的空間
2. 輸入的初始數(shù)據(jù)所占的存儲空間
3. 算法執(zhí)行過程中所需要的額外的空間

通常片效,我們都使用‘時間復(fù)雜度’來指運行時間的需求红伦,使用‘空間復(fù)雜度’來指空間需求。

當(dāng)不限定的用‘復(fù)雜度’時淀衣,通常指時間復(fù)雜度昙读。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膨桥,隨后出現(xiàn)的幾起案子蛮浑,更是在濱河造成了極大的恐慌,老刑警劉巖只嚣,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沮稚,死亡現(xiàn)場離奇詭異,居然都是意外死亡册舞,警方通過查閱死者的電腦和手機蕴掏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來调鲸,“玉大人盛杰,你說我怎么就攤上這事∶晔” “怎么了即供?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長于微。 經(jīng)常有香客問我逗嫡,道長青自,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任驱证,我火速辦了婚禮延窜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘雷滚。我一直安慰自己需曾,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布祈远。 她就那樣靜靜地躺著,像睡著了一般商源。 火紅的嫁衣襯著肌膚如雪车份。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天牡彻,我揣著相機與錄音扫沼,去河邊找鬼。 笑死庄吼,一個胖子當(dāng)著我的面吹牛缎除,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播总寻,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼器罐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了渐行?” 一聲冷哼從身側(cè)響起轰坊,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎祟印,沒想到半個月后肴沫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蕴忆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年颤芬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片套鹅。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡站蝠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芋哭,到底是詐尸還是另有隱情沉衣,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布减牺,位于F島的核電站豌习,受9級特大地震影響存谎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肥隆,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一既荚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧栋艳,春花似錦恰聘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至矾屯,卻和暖如春兼蕊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背件蚕。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工孙技, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人排作。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓牵啦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妄痪。 傳聞我的和親對象是個殘疾皇子哈雏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

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