




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2.3.1 算法的復(fù)雜性1.7 對(duì)偶與范式2 of 158符號(hào)1.7 對(duì)偶與范式3 of 158符號(hào)1.7 對(duì)偶與范式4 of 158符號(hào)n2 對(duì)數(shù)對(duì)數(shù)logn=log2n lgn=log10n lg2=0.3011.7 對(duì)偶與范式5 of 158符號(hào)n證明:證明:nbalognbbablogloganbbblogloganbbbloglog)(abnlog1.7 對(duì)偶與范式6 of 158符號(hào)nlogbN=logaN/logabnlogeN=lnN ne=2.71828nlogab=1/logba1.7 對(duì)偶與范式7 of 158符號(hào)1.7 對(duì)偶與范式8 of 158符號(hào)1.7 對(duì)偶與范式9
2、 of 158符號(hào)1.7 對(duì)偶與范式10 of 158符號(hào)n調(diào)和級(jí)數(shù)調(diào)和級(jí)數(shù)nkOnk1) 1 (ln11.7 對(duì)偶與范式11 of 1581、衡量算法優(yōu)劣的標(biāo)準(zhǔn):時(shí)空復(fù)雜性、衡量算法優(yōu)劣的標(biāo)準(zhǔn):時(shí)空復(fù)雜性2、問題規(guī)模:與問題相關(guān)的整數(shù)量,、問題規(guī)模:與問題相關(guān)的整數(shù)量,它可以衡量問題的規(guī)模并表示輸入數(shù)它可以衡量問題的規(guī)模并表示輸入數(shù)據(jù)量的尺度。也稱為問題尺度據(jù)量的尺度。也稱為問題尺度3、算法的時(shí)間復(fù)雜性:處理一個(gè)尺度、算法的時(shí)間復(fù)雜性:處理一個(gè)尺度為為n的輸入,算法所需要的的輸入,算法所需要的時(shí)間時(shí)間,記,記為為T(n)1.7 對(duì)偶與范式12 of 1583、算法的時(shí)間復(fù)雜性:處理一個(gè)尺度、
3、算法的時(shí)間復(fù)雜性:處理一個(gè)尺度為為n的輸入,算法所需要的輸入,算法所需要的執(zhí)行次數(shù)的執(zhí)行次數(shù)(或執(zhí)行的步數(shù))(或執(zhí)行的步數(shù)),記為,記為T(n)1.7 對(duì)偶與范式13 of 1584、漸進(jìn)時(shí)間復(fù)雜性:、漸進(jìn)時(shí)間復(fù)雜性:當(dāng)問題的尺度增加時(shí),時(shí)間復(fù)雜性的當(dāng)問題的尺度增加時(shí),時(shí)間復(fù)雜性的極限極限5、算法的空間復(fù)雜性:、算法的空間復(fù)雜性:處理一個(gè)尺度為處理一個(gè)尺度為n的輸入,算法所需要的輸入,算法所需要的空間數(shù),記為的空間數(shù),記為S(n)1.7 對(duì)偶與范式14 of 1586、漸進(jìn)空間復(fù)雜性:、漸進(jìn)空間復(fù)雜性:當(dāng)問題的尺度增加時(shí),空間復(fù)雜性的當(dāng)問題的尺度增加時(shí),空間復(fù)雜性的極限極限7、時(shí)空綜合復(fù)雜性、
4、時(shí)空綜合復(fù)雜性 T(n)S(n)1.7 對(duì)偶與范式15 of 1588、算法復(fù)雜性的階、算法復(fù)雜性的階處理尺度為處理尺度為n的輸入,需要執(zhí)行的輸入,需要執(zhí)行Cn2次次,則算法復(fù)雜性是則算法復(fù)雜性是O(n2),讀作,讀作“n2階階”1.7 對(duì)偶與范式16 of 1581.7 對(duì)偶與范式17 of 158f(n)c0g(n)c1g(n)n0f(n) is (g(n) f(n)cg(n)n0f(n) is O(g(n) f(n)cg(n)n0f(n) is (g(n) 1.7 對(duì)偶與范式18 of 158例例1 0.25n2=O(n2) (相差常數(shù)因子)(相差常數(shù)因子) 0.73n2O(n) (階不
5、等)(階不等) n(n+1)/3=O(n2) (相差低階項(xiàng))(相差低階項(xiàng)) 5n4 6n2+1=O(n4) (相差低階項(xiàng)和相差低階項(xiàng)和常數(shù)因子常數(shù)因子)1.7 對(duì)偶與范式19 of 158等式等式 0.75n2=O(n)何時(shí)成立?何時(shí)成立?永不成立永不成立等式等式3n1/2=O(n)在在n=9時(shí)成立嗎?時(shí)成立嗎?n=9時(shí),雖然兩邊值相等,但等式不成時(shí),雖然兩邊值相等,但等式不成立立1.7 對(duì)偶與范式20 of 158n例例2: 60n2+5n+1 n60n2+5n+1 60n2+5n2+n2 =66n2 對(duì)于對(duì)于n 1n所以所以 60n2+5n+1 =O(n2)n又又60n2+5n+1 60n
6、2 對(duì)于對(duì)于n 1n所以所以 60n2+5n+1 = (n2)n綜上綜上 60n2+5n+1 = (n2)1.7 對(duì)偶與范式21 of 1581.7 對(duì)偶與范式22 of 158n例例4: 1+2+n n1+2+n n+n+n =n2 對(duì)于對(duì)于n 1n所以所以 1+2+n =O(n2)n又又1+2+n 1+1+1=n 對(duì)于對(duì)于n 1n所以所以 1+2+n = (n)n綜上綜上 1+2+n = ?1.7 對(duì)偶與范式23 of 158n又又1+2+n nnn) 1(.222.22nnnn 221nn4222nnn1.7 對(duì)偶與范式24 of 158n所以所以 1+2+n = (n2)n綜上綜上 1
7、+2+n = (n2)n練習(xí):給出練習(xí):給出1k+2k+nk 的的 表示表示n作業(yè):作業(yè):給出給出logn!的的 表示表示1.7 對(duì)偶與范式25 of 158n求上界的方法求上界的方法1.7 對(duì)偶與范式26 of 1581.7 對(duì)偶與范式27 of 1581.7 對(duì)偶與范式28 of 1581.7 對(duì)偶與范式29 of 158n求下界的方法:求下界的方法:n縮小法縮小法1.7 對(duì)偶與范式30 of 158n求復(fù)雜性函數(shù)階的極限方法求復(fù)雜性函數(shù)階的極限方法例如,f(n)=n2/4, g(n)=n2, 則n2/4 =(n2)f(n)=logn, g(n)=n, 則logn=O(n);()()();
8、()()(0);()()(0)()(limgfngnfsgOfngnfsgfngnfssngnfn則的階高,比說明時(shí),當(dāng)則的階低,比說明時(shí),當(dāng)則同階,和說明時(shí),當(dāng)若1.7 對(duì)偶與范式31 of 158n漸近分析漸近分析在漸近意義下(即問題的規(guī)模n充分大時(shí)),對(duì)算法進(jìn)行優(yōu)劣分類。例:例:對(duì)問題對(duì)問題P P有算法有算法A A和算法和算法B B,它們的時(shí)間復(fù)雜,它們的時(shí)間復(fù)雜性分別為性分別為T TA A(n)=3n(n)=3n2 2,T TB B(n)=25n(n)=25n。對(duì)不同的。對(duì)不同的n n比較有比較有 n 7 8 9 TA(n) 147 192 243 TB(n) 175 200 225
9、可見,n8時(shí)算法B會(huì)越來越好于算法A即n較大時(shí)的性能是重要的,因此漸近分析是合理的。1.7 對(duì)偶與范式32 of 158n標(biāo)準(zhǔn)復(fù)雜性函數(shù)的比較標(biāo)準(zhǔn)復(fù)雜性函數(shù)的比較O(1)O(logn)O(n)O(nlogn)O(n2)O(n3)O(2n)O(n!)O(nn) 多項(xiàng)式時(shí)間階 指數(shù)時(shí)間階注意:注意:1)不能劃等號(hào))不能劃等號(hào) 2)以下若無特殊聲明,)以下若無特殊聲明,log是以是以2為底的對(duì)數(shù)為底的對(duì)數(shù) 3)上式只有在)上式只有在n較大的時(shí)候成立較大的時(shí)候成立O(1)的含義?的含義?計(jì)算時(shí)間由一個(gè)常數(shù)(零次多項(xiàng)式)來限界計(jì)算時(shí)間由一個(gè)常數(shù)(零次多項(xiàng)式)來限界1.7 對(duì)偶與范式33 of 158指數(shù)
10、時(shí)間指數(shù)時(shí)間一個(gè)算法的時(shí)間復(fù)雜性如果是一個(gè)算法的時(shí)間復(fù)雜性如果是O(2n),則稱,則稱此算法需要指數(shù)時(shí)間。此算法需要指數(shù)時(shí)間。多項(xiàng)式時(shí)間多項(xiàng)式時(shí)間一個(gè)算法的時(shí)間復(fù)雜性如果是一個(gè)算法的時(shí)間復(fù)雜性如果是O(nk)(k為有為有理數(shù)),則稱此算法需要多項(xiàng)式時(shí)間。理數(shù)),則稱此算法需要多項(xiàng)式時(shí)間。有效算法有效算法以多項(xiàng)式時(shí)間為限界的算法稱為有效算法。以多項(xiàng)式時(shí)間為限界的算法稱為有效算法。1.7 對(duì)偶與范式34 of 158Time to FinishInput Size (n)O(nx)O(n)O(1)O(n lg n)O(an)1.7 對(duì)偶與范式35 of 1581.7 對(duì)偶與范式36 of 1581
11、.7 對(duì)偶與范式37 of 158例n例:算法例:算法A1,A2的時(shí)間復(fù)雜性分別是的時(shí)間復(fù)雜性分別是n,2n,設(shè)設(shè)100s是一個(gè)單位時(shí)間,求是一個(gè)單位時(shí)間,求A1,A2在在1s內(nèi)能處理的問題規(guī)模。內(nèi)能處理的問題規(guī)模。n已知已知lg2=0.3011.7 對(duì)偶與范式38 of 158作業(yè)nP22- 61.7 對(duì)偶與范式39 of 158復(fù)雜性的基本概念n有效算法:有效算法:以多項(xiàng)式時(shí)間為限界的算法。以多項(xiàng)式時(shí)間為限界的算法。n按算法的時(shí)間復(fù)雜性,可以把問題分為按算法的時(shí)間復(fù)雜性,可以把問題分為3類:類:1)p類問題類問題能以多項(xiàng)式時(shí)間為界的算法解決的問題能以多項(xiàng)式時(shí)間為界的算法解決的問題1.7 對(duì)
12、偶與范式40 of 1582)NP類問題:已知的最好算法是以非類問題:已知的最好算法是以非多項(xiàng)式時(shí)間為界的問題。多項(xiàng)式時(shí)間為界的問題。3)寫不出算法的問題。)寫不出算法的問題。實(shí)際上可計(jì)算的問題:實(shí)際上可計(jì)算的問題: 多項(xiàng)式時(shí)間可解的問題多項(xiàng)式時(shí)間可解的問題1.7 對(duì)偶與范式41 of 158有時(shí),算法中基本操作重復(fù)執(zhí)行的次數(shù)會(huì)有時(shí),算法中基本操作重復(fù)執(zhí)行的次數(shù)會(huì)隨問題的輸入數(shù)據(jù)集不同而不同。隨問題的輸入數(shù)據(jù)集不同而不同。比如:冒泡法排序比如:冒泡法排序n個(gè)整數(shù)個(gè)整數(shù)1)當(dāng)原始數(shù)據(jù)是從小到大有序排列時(shí),則)當(dāng)原始數(shù)據(jù)是從小到大有序排列時(shí),則基本操作(交換序列中相鄰的兩個(gè)整數(shù))基本操作(交換序列
13、中相鄰的兩個(gè)整數(shù))的執(zhí)行次數(shù)為的執(zhí)行次數(shù)為01.7 對(duì)偶與范式42 of 1582)當(dāng)原始數(shù)據(jù)是從大到小有序排列時(shí),)當(dāng)原始數(shù)據(jù)是從大到小有序排列時(shí),基本操作的執(zhí)行次數(shù)為基本操作的執(zhí)行次數(shù)為n(n-1)/2n解決方法:解決方法:1)求平均情況的時(shí)間復(fù)雜性)求平均情況的時(shí)間復(fù)雜性 即考慮算法對(duì)所有可能的輸入數(shù)據(jù)集的期即考慮算法對(duì)所有可能的輸入數(shù)據(jù)集的期望值,此時(shí)對(duì)應(yīng)的時(shí)間復(fù)雜性為算法的平望值,此時(shí)對(duì)應(yīng)的時(shí)間復(fù)雜性為算法的平均時(shí)間復(fù)雜性。均時(shí)間復(fù)雜性。1.7 對(duì)偶與范式43 of 158n2)求最壞情況的時(shí)間復(fù)雜性)求最壞情況的時(shí)間復(fù)雜性 即分析最壞情況以估算算法執(zhí)行時(shí)間即分析最壞情況以估算算法執(zhí)
14、行時(shí)間的一個(gè)上界。的一個(gè)上界。1.7 對(duì)偶與范式44 of 158兩點(diǎn)說明:兩點(diǎn)說明:1)用基本操作重復(fù)執(zhí)行的次數(shù)作為算)用基本操作重復(fù)執(zhí)行的次數(shù)作為算法的時(shí)間復(fù)雜性比較粗略法的時(shí)間復(fù)雜性比較粗略2)在實(shí)踐中我們可以把算法的事前分)在實(shí)踐中我們可以把算法的事前分析和事后統(tǒng)計(jì)兩種方法結(jié)合起來使用。析和事后統(tǒng)計(jì)兩種方法結(jié)合起來使用。1.7 對(duì)偶與范式45 of 158例:若上機(jī)運(yùn)行了一個(gè)問題尺度為例:若上機(jī)運(yùn)行了一個(gè)問題尺度為10的算法,執(zhí)行時(shí)間為的算法,執(zhí)行時(shí)間為6ms,并且算法,并且算法的時(shí)間復(fù)雜性為的時(shí)間復(fù)雜性為T(n)=O(n2),則可以,則可以估算問題尺度為估算問題尺度為21時(shí),所需時(shí)間
15、大致時(shí),所需時(shí)間大致為為 (21/10)26ms26.5ms2.3.2隨機(jī)存取機(jī)隨機(jī)存取機(jī)(RAM)1.7 對(duì)偶與范式47 of 158nRAM的結(jié)構(gòu)示意圖的結(jié)構(gòu)示意圖 x1x2只讀輸入帶程序存儲(chǔ)器指令計(jì)數(shù)器y1y2只寫輸出帶累加器內(nèi)存儲(chǔ)器r0r1r21.7 對(duì)偶與范式48 of 1581. RAM的組成的組成1)只讀輸入帶:被劃分成一系列方格,每)只讀輸入帶:被劃分成一系列方格,每個(gè)方格可存放任意大小的整數(shù)。每當(dāng)從輸個(gè)方格可存放任意大小的整數(shù)。每當(dāng)從輸入帶中讀出一個(gè)數(shù)據(jù)時(shí),帶頭就自動(dòng)向右入帶中讀出一個(gè)數(shù)據(jù)時(shí),帶頭就自動(dòng)向右移動(dòng)一格。初始時(shí),其上依次存放有算法移動(dòng)一格。初始時(shí),其上依次存放有算
16、法運(yùn)行所需的全部初始數(shù)據(jù)。運(yùn)行所需的全部初始數(shù)據(jù)。1.7 對(duì)偶與范式49 of 1582)只寫輸出帶:被劃分成一系列方格,)只寫輸出帶:被劃分成一系列方格,每個(gè)方格可存放任意大小的整數(shù)。每每個(gè)方格可存放任意大小的整數(shù)。每輸出一個(gè)數(shù)據(jù),帶頭就自動(dòng)向右移動(dòng)輸出一個(gè)數(shù)據(jù),帶頭就自動(dòng)向右移動(dòng)一格。初始時(shí),其上所有方格為空。一格。初始時(shí),其上所有方格為空。3)程序存儲(chǔ)器:只存放程序)程序存儲(chǔ)器:只存放程序4)指令計(jì)數(shù)器:控制程序走向,即確)指令計(jì)數(shù)器:控制程序走向,即確定下一條要執(zhí)行的指令。定下一條要執(zhí)行的指令。1.7 對(duì)偶與范式50 of 1585)內(nèi)存儲(chǔ)器:由一系列寄存器)內(nèi)存儲(chǔ)器:由一系列寄存器r
17、0,r1,r2,組組成,每個(gè)寄存器都能存放一個(gè)任意大小的成,每個(gè)寄存器都能存放一個(gè)任意大小的整數(shù)。寄存器的個(gè)數(shù)是任意的。其中,第整數(shù)。寄存器的個(gè)數(shù)是任意的。其中,第一個(gè)寄存器一個(gè)寄存器r0稱為累加器,所有的運(yùn)算都稱為累加器,所有的運(yùn)算都在其中進(jìn)行。在其中進(jìn)行。1.7 對(duì)偶與范式51 of 1582. RAM的指令系統(tǒng)的指令系統(tǒng) 一條一條RAM指令一般由操作碼和操作指令一般由操作碼和操作數(shù)組成。數(shù)組成。 例如:例如: 指令指令 STORE i 表示把累加表示把累加器中的內(nèi)容送入內(nèi)存器中的內(nèi)容送入內(nèi)存ri中中 其中其中STORE 是操作碼:操作定義符,是操作碼:操作定義符,指明操作意義指明操作意義 i是操作數(shù):指示操作對(duì)象是操作數(shù):指示操
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手辦公用品采購(gòu)合同范本
- 2014簡(jiǎn)短勞動(dòng)合同范本
- 光伏發(fā)電安裝用工合同范本
- 商業(yè)合作框架合同范本
- 合桿合同范本
- 古董買賣電子合同范例
- 呼和浩特物業(yè)服務(wù)合同范本
- 合作投標(biāo)食堂合同范本
- 關(guān)于儀器檢測(cè)合同范本
- 修車廠合同范例
- 皇冠假日酒店智能化系統(tǒng)安裝工程施工合同范本
- 路面工程重點(diǎn)、關(guān)鍵、和難點(diǎn)工程的施工方案(技術(shù)標(biāo))
- 合肥市城市大腦·數(shù)字底座白皮書2020
- 蓄電池在線監(jiān)控方案
- 《豎提》課件
- 機(jī)電預(yù)留預(yù)埋工程施工組織設(shè)計(jì)方案
- 2022年三八婦女節(jié)婦女權(quán)益保障法律知識(shí)競(jìng)賽題庫(kù)及答案(共290題)
- 引水罐的設(shè)計(jì)計(jì)算
- Of studies原文譯文及賞析
- 安全閥基本知識(shí)講義
- 不銹鋼排煙風(fēng)管施工實(shí)施方案
評(píng)論
0/150
提交評(píng)論