數(shù)據(jù)結構mooc學習

清華大學學堂在線 ?鄧俊輝老師 deng@tsinghua.edu.cn

第1章 緒論


(a)計算

計算=信息處理

對象:規(guī)律怔蚌,技巧 ? ? 目標:高效巩步,低耗

何為計算:借助某種工具,遵照一定規(guī)則桦踊,以明確而機械的形式進行椅野。

計算模型=計算機=信息處理工具

算法:

輸入:待處理的信息(問題)

輸出:經(jīng)處理的信息(答案)

正確性:的確可以解決指定的問題

確定性:任一算法都可以描述為一個有基本操作組成的序列

可行性:每一基本操作都可實現(xiàn),且在常數(shù)時間內(nèi)完成

有窮性:對于任何輸入籍胯,經(jīng)有窮次基本操作都可以得到輸出

例子:Hailstone問題

什么是個好算法:正確竟闪,健壯,可讀杖狼,

效率

Data Structure + Algorithms = Programs


(b)計算模型

成本:運行時間+存儲空間

特定算法+不同實例炼蛤, 以及,不同算法+特定實例

圖靈機 Turing Machine

包括:紙帶蝶涩,讀寫頭理朋,Transition Function

(q,c,d,L/R,p) 表示若當前狀態(tài)為q且當前字符為c,則將當前字符改寫為d绿聘,轉向左側/右側的鄰格嗽上,轉入p狀態(tài),一旦轉入特定的終止狀態(tài) ‘h’ 熄攘,則停機兽愤。

例子:圖靈機實例
RAM模型概念

在這些算法中,算法的運行時間成正比于算法需要執(zhí)行的基本操作次數(shù)。

RAM模型的實例

執(zhí)行過程可以記錄為一張表浅萧,表的行數(shù)即是所執(zhí)行的基本指令的總條數(shù)逐沙,能夠客觀度量算法的執(zhí)行時間。

圖靈機(TM)洼畅,RAM等模型為度量算法性能提供了準確的尺度酱吝。


(c)大O記號(Big O Notation) ?Paul Bachmann 1894 ?同階無窮小

Mathematics is more in need of good notations than of new theorems. ----Alan Turing

長遠,主流

漸進分析 Asymptotic analysis:

當n>>2后土思,對于規(guī)模為n輸入务热,

算法需執(zhí)行的基本操作次數(shù):T(n)=?? ? 需占用的存儲單元數(shù):S(n)=??

T(n) = O(f(n)) ?iff ?存在 c>0,當 n>>2 后己儒,有 T(n) < c*f(n) 挨决。

O(1):常數(shù)復雜度遵绰,2=2017=...=2011111111=O(1)

O( (log n)c ),對數(shù)多項式的復雜度 ?(poly log function)

對數(shù):O(log n) ? ? ?ln n, lg n, ... , ?與對數(shù)的底數(shù)無關

常底數(shù)無所謂: 對任意的a,b,有 log(a)n=log(a)b*log(b)n=O( log(b)n )

常數(shù)次冪無所謂:對任意的c>0, (log n)c=c*log n=O(log n)

對于對數(shù)多項式而言希痴,取對數(shù)多項式里面次數(shù)最高的項即可

此類算法非常有效瓤湘,因為復雜度無限接近于常數(shù)壹甥。

對任意的c>0, n充分大時佛寿,O(log n)小于n的c次方。

O(n的c次方)何暇,多項式復雜度陶夜,polynomial function

O(2的n次方),指數(shù)(exponential function) 指數(shù)爆炸

這類算法的計算成本增長極快裆站,通常被認為是不可忍受的条辟,從O(n的c次方)O(2的n次方),

是從有效算法到無效算法的分水嶺宏胯,很多問題的O(2的n次方)算法顯而易見羽嫡,

然而,設計出O(n的c次方)算法卻極為不易肩袍,甚至杭棵,有時注定地只能是徒勞無功。

2-Subset 問題氛赐,美國大選實例

對于2-Subset 問題魂爪,

直覺算法:逐一枚舉S集中的每一個子集,并統(tǒng)計其中元素的總和鹰祸,須2的n次方輪甫窟。

亦即:在最壞的情況下密浑,必須花費2的n次方的時間蛙婴,不甚理想!

直覺提出的問題:是否有更好的算法尔破?

定理:2-Subset is NP-complete

not Polynomial, 非多項式時間內(nèi)完成

即:就目前的計算模型而言街图,不存在可以在多項式時間內(nèi)回答此問題的算法浇衬,就此意義而言

上述的直覺算法已經(jīng)屬于最優(yōu)。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末餐济,一起剝皮案震驚了整個濱河市耘擂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌絮姆,老刑警劉巖醉冤,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異篙悯,居然都是意外死亡蚁阳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門鸽照,熙熙樓的掌柜王于貴愁眉苦臉地迎上來螺捐,“玉大人,你說我怎么就攤上這事矮燎《ㄑ” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵诞外,是天一觀的道長澜沟。 經(jīng)常有香客問我,道長峡谊,這世上最難降的妖魔是什么倔喂? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮靖苇,結果婚禮上席噩,老公的妹妹穿的比我還像新娘。我一直安慰自己贤壁,他們只是感情好悼枢,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脾拆,像睡著了一般馒索。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上名船,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天绰上,我揣著相機與錄音,去河邊找鬼渠驼。 笑死蜈块,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播百揭,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼爽哎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了器一?” 一聲冷哼從身側響起课锌,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎祈秕,沒想到半個月后渺贤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡请毛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年癣亚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片获印。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡述雾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兼丰,到底是詐尸還是另有隱情玻孟,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布鳍征,位于F島的核電站黍翎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏艳丛。R本人自食惡果不足惜匣掸,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氮双。 院中可真熱鬧碰酝,春花似錦、人聲如沸戴差。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽暖释。三九已至袭厂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間球匕,已是汗流浹背纹磺。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留亮曹,地道東北人橄杨。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓秘症,卻偏偏與公主長得像,于是被迫代替她去往敵國和親讥珍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

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

  • 算法和數(shù)據(jù)結構 [TOC] 算法 函數(shù)的增長 漸近記號 用來描述算法漸近運行時間的記號窄瘟,根據(jù)定義域為自然數(shù)集$N=...
    wxainn閱讀 1,065評論 0 0
  • 算法復雜度 時間復雜度 空間復雜度 什么是時間復雜度 算法執(zhí)行時間需通過依據(jù)該算法編制的程序在計算機上運行時所消耗...
    KODIE閱讀 3,264評論 0 9
  • 此筆記用于指導初學者閱讀衷佃。原文在此!蹄葱,出于便于交流的考慮氏义,內(nèi)容重放在此。由于作業(yè)部落支持LaTex公式图云,所以惯悠,更加...
    Bintou老師閱讀 12,154評論 0 27
  • 由于項目中經(jīng)常會有一些需求頁面是,從底部彈出一個視圖竣况,在當前視圖的上面克婶,因此為了減少那些沒必要的工作量,基于UIP...
    捷風閱讀 3,585評論 0 4
  • 今天我大金陵又被淹了丹泉,躺在蝸居看周星星的功夫情萤。“嚴格來講我們就是賣唱的摹恨,一曲肝腸斷筋岛,天涯何處覓知音”,以前的老電影...
    莫__天閱讀 185評論 0 0