



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
算法效率分析算法是一系列解決問題的明確指令,對于一定符合規(guī)范的輸入,能夠在有限時間內(nèi)獲得要求的輸出。從實際問題的提出到設(shè)計合適的算法再到正確性的分析以及算法效率的分析,最后為算法編寫代碼,一步步得到問題的解決方案。間迎輸入X"ccmptiM">廚出圖1.算法的概念圖2.算法設(shè)計分析過程對算法效率的分析,需要指出有兩種算法效率:時間效率和空間效率,分指算法運行速度和需要的額外空間。由于技術(shù)革新,對于大多數(shù)問題,速度上效率的提高遠大于空間上的提高。在研究算法效率上提出一般性框架。定義1:如果存在正常數(shù)c和氣使得當N5。時T(N)<cf(N),則記為T(N)=0(f(N))。定義2:如果存在正常數(shù)c和n。使得當N5。時T(N)>cg(N),則記為T(N)=。(g(N))。定義3:T(N)=&(h(N))當且僅當T(N)=0(h(N))且T(N)=Q(h(N))。定義4:如果T(N)=0(p(N))且T(N)^0(p(N)),則T(N)=o(p(N))。定義的目的實在函數(shù)之間建立相對的級別??芍庇^的理解為T(N)增長率小于等于f(N),T(N)增長率大于等于g(N),T(N)增長率等于h(N),T(N)增長率小于p(N)。法則1:如果T(N)=0(f(N))且T(N)=0(g(N)),那么12T(N)+T(N)=max(0(f(N)),0(g(N)))T1(N)xT(N)=0(f(N)xg(N))法則2:如果T(N)是k次多項式,則T(N)=0(Nk)法則3:對任意常數(shù)k,logkN=0(N)下面以最大子序列和問題的四種解決方法來分析算法的效率問題。最大子序列和:給定整數(shù)今氣,...An(可能含負數(shù)),求兄Ak最大值(若所有整數(shù)為k=1負,則最大子序列和為0)算法1234時間O(N3)O(N2)O(NlogN)O(N)輸入大小/mN=100.001030.000450.000660.00034N=1000.470150.011120.004860.00063N=1000448.771.12330.058430.00333N=10000NA111.130.686310.03042N=100000NANA8.01130.29832%上0~40~'~~SO~~9Ci~~100各種計算最大子序列和的算法(橫坐標為N,縱坐標為毫秒)圖】,口A\e2.04N1)ffW)2(X)0】,口A\e2.04N1)ffW)2(X)0JOOC4000500<J60007CKW預(yù)KJO9000lOOOU3.Ct⑶心i方法一、窮舉嘗試所有可能,含有3重for循環(huán)。第一循環(huán)大小為N,第二循環(huán)大小為N-i,第三循環(huán)大小為j-i+1??紤]最差時間效率,第二循環(huán)第三循環(huán)大小均為N。總數(shù)為O(N3)。可精確分析,第三循環(huán)時間必坡-1j1i=0j=ik=iintMaxSubsequenceSum(constintA[],intN){intThisSum,MaxSum,i,j,k;MaxSum=0;for(i=0;i<N;i++)for(j=i;j<N;j++){ThisSum=0;for(k=i;k<=j;k++)ThisSum+=A[k];if(ThisSum>MaxSum)云Y如1=云云(j-i+1)i=0j=ik=ii=0j=i=Y1(N-i+1)(N-i)i=0=6(N3+3N2+2N)
方法二、在方法一的基礎(chǔ)上去掉三重循環(huán),復(fù)雜度降為O(N2)方法三、使用一種遞歸的方法,使復(fù)雜度降為O(NlogN)。當問題無法找到O(N)復(fù)雜度的線性解法前,該方法很好的體現(xiàn)遞歸的強力。方法使用“分治”策略。將問題“分割”成兩個大致相等的子問題,再將兩個子問題的解合并,再做少量工作使問題解決。假設(shè)測試序列:前半部后半部4-35-2-126-2Q前半部最大子序列和為6(A1+A2+A3),后半部最大子序列和為8(A6+A7)@前半部包含最后元素最大和為4(A+A+A+A),后半部第一元素最大和1234為7(A5+A6+A)Q兩部分最大和11(A+A+A+A+A+A+A)1234567算法3比前兩種需要更多代碼量,但在運行時間上,特別是大數(shù)據(jù)量的運算時間,會比前兩種方法節(jié)省更多時間。方法四、極為簡潔而且更加的有效。打破了第二循環(huán)和第三循環(huán),使運行時間變?yōu)榫€性。intMaxSubsequenceSum(constintA[],intN){intThisSum,MaxSum,j;MaxSum=ThisSum=0;for(j=0;j<N;j++){ThisSum+=A[j];if(ThisSum>MaxSum)M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年未簽訂勞動合同企業(yè)面臨什么風(fēng)險
- 2025天貓電商平臺店鋪租賃合同范本
- 比亞迪合同協(xié)議書范本
- 志愿崗勞務(wù)合同協(xié)議
- 模特助理簽約合同協(xié)議
- 模具鋼材報價合同協(xié)議
- 吳中區(qū)律師合同協(xié)議
- 恢復(fù)建房協(xié)議書范本
- 商品出口貿(mào)易合同協(xié)議
- 2025有關(guān)租賃合同借款協(xié)議
- 2024年畢節(jié)市七星關(guān)區(qū)招聘城市社區(qū)工作者真題
- 衛(wèi)生管理行業(yè)人才培養(yǎng)與社會責(zé)任分析試題及答案
- 酒類合伙開店協(xié)議書
- 2025克拉瑪依機場第一季度招聘(15人)筆試參考題庫附帶答案詳解
- 石材干掛工程施工方案
- 企業(yè)事故隱患內(nèi)部報告獎勵制度
- 中國歷史地理知到課后答案智慧樹章節(jié)測試答案2025年春泰山學(xué)院
- 2025江蘇南京證券校園招聘129人易考易錯模擬試題(共500題)試卷后附參考答案
- 智慧樹知到《中國城市建設(shè)史(西安工業(yè)大學(xué))》2025章節(jié)測試附答案
- 住建局條文解讀新規(guī)JGJT46-2024《施工現(xiàn)場臨時用電安全技術(shù)標準》
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗收規(guī)范
評論
0/150
提交評論