版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
算法時(shí)間復(fù)雜度的概念
本講要點(diǎn)為什么要考慮算法時(shí)間復(fù)雜度?什么是算法時(shí)間復(fù)雜度?如何計(jì)算算法時(shí)間復(fù)雜度?(1)為什么要考慮算法時(shí)間復(fù)雜度?一種數(shù)據(jù)結(jié)構(gòu)的優(yōu)劣是由實(shí)現(xiàn)其各種操作的算法決定的。對(duì)數(shù)據(jù)結(jié)構(gòu)的分析實(shí)質(zhì)上就是對(duì)實(shí)現(xiàn)各種操作的算法進(jìn)行分析。除了要驗(yàn)證算法是否能正確解決問(wèn)題外,還需要對(duì)算法的效率進(jìn)行評(píng)價(jià)。對(duì)于一個(gè)實(shí)際問(wèn)題的解決,可以提出若干算法,那么如何從這些可行的算法中找出最有效的算法呢?或者有了一個(gè)解決實(shí)際問(wèn)題的算法,如何來(lái)分析它的性能呢?這些問(wèn)題需要通過(guò)算法分析來(lái)確定。通常,算法分析主要分析算法的時(shí)間代價(jià)和空間代價(jià)這兩個(gè)主要指標(biāo)。(1)為什么要考慮算法時(shí)間復(fù)雜度?隨著計(jì)算機(jī)功能的日益強(qiáng)大,程序的運(yùn)行效率變得越來(lái)越不那么重要了嗎?計(jì)算機(jī)功能越強(qiáng)大,人們就越想去嘗試解決更復(fù)雜的問(wèn)題。不僅需要算法,而且需要“好”的算法。在選擇和設(shè)計(jì)算法時(shí)要有效率的觀(guān)念,這一點(diǎn)比提高計(jì)算機(jī)本身的速度更為重要。(2)什么是算法時(shí)間復(fù)雜度?問(wèn)題規(guī)模的概念:是指輸入量的多少,一般來(lái)說(shuō),它可以從問(wèn)題描述中得到。一個(gè)事實(shí):幾乎所有的算法,對(duì)于規(guī)模更大的輸入都需要運(yùn)行更長(zhǎng)的時(shí)間。運(yùn)行算法所需要的時(shí)間是問(wèn)題規(guī)模n的函數(shù)。要精確地用函數(shù)表示算法的運(yùn)行時(shí)間是很困難的。算法時(shí)間分析度量的標(biāo)準(zhǔn):不是針對(duì)實(shí)際執(zhí)行時(shí)間精確算出算法執(zhí)行的具體時(shí)間,而是針對(duì)算法中基本語(yǔ)句的執(zhí)行次數(shù)做出估計(jì)。(2)什么是算法時(shí)間復(fù)雜度?如何度量:引入時(shí)間復(fù)雜度(TimeComplexity)概念。算法中基本語(yǔ)句的重復(fù)執(zhí)行次數(shù)是問(wèn)題規(guī)模n的某個(gè)函數(shù)f(n),算法的時(shí)間度量表示為O(f(n))。這里的“O”是英文“Order”的縮寫(xiě),但并不代表“順序”的意思,而是“階數(shù)”的概念。它表示隨著問(wèn)題規(guī)模n的增大,算法執(zhí)行時(shí)間增長(zhǎng)率和f(n)增長(zhǎng)率相同,稱(chēng)為算法的漸近時(shí)間復(fù)雜度,簡(jiǎn)稱(chēng)時(shí)間復(fù)雜度,記作T(n)=O(f(n))。例如f(n)=amnm+am-1nm-1+…+a1n+a0,則T(n)=O(nm)。f(n)與nm之比是一個(gè)不等于零的常數(shù),即f(n)與nm的數(shù)量級(jí)相同。在計(jì)算算法時(shí)間復(fù)雜度時(shí),可以忽略所有低次冪項(xiàng)和最高次冪項(xiàng)的系數(shù)。(3)如何計(jì)算算法時(shí)間復(fù)雜度?1)for(i=1;i<100;i++)s++;該程序段的語(yǔ)句執(zhí)行次數(shù)是常量,時(shí)間復(fù)雜度記為O(1),稱(chēng)為常量階。2)for(i=0;i<n;i++)s+=i;該程序段基本語(yǔ)句“s+=i;”的執(zhí)行次數(shù)f(n)=n,因此它的時(shí)間復(fù)雜度T(n)=O(f(n))=O(n),稱(chēng)為線(xiàn)性階。(3)如何計(jì)算算法時(shí)間復(fù)雜度?3)for(i=0;i<n;i++) for(j=0;j<n;j++) s++;f(n)=n+n+…+n=n2,時(shí)間復(fù)雜度T(n)=O(f(n))=O(n2),稱(chēng)為平方階。4)for(i=0;i<n;i++) for(j=i;j<n;j++) s++;這是一個(gè)二重循環(huán),基本語(yǔ)句“s++;”的執(zhí)行次數(shù)
f(n)=n+(n-1)+(n-2)+……+2+1=n(n+1)/2,是n2數(shù)量級(jí),因此時(shí)間復(fù)雜度T(n)=O(n2)。(3)如何計(jì)算算法時(shí)間復(fù)雜度?5)for(i=1;i<=n;i=2*i) s++;設(shè)該程序段基本語(yǔ)句“s++;”的執(zhí)行次數(shù)為f(n),則有2f(n)≤n,即f(n)≤log2n,因此該段程序的時(shí)間復(fù)雜度為O(log2n),稱(chēng)為對(duì)數(shù)階。小結(jié):求解算法時(shí)間復(fù)雜度的步驟1)找出算法中的基本語(yǔ)句。算法中執(zhí)行次數(shù)最多的那條語(yǔ)句就是基本語(yǔ)句。通常是最內(nèi)層循環(huán)的循環(huán)體。2)計(jì)算基本語(yǔ)句的執(zhí)行次數(shù)的數(shù)量級(jí)。只需計(jì)算基本語(yǔ)句執(zhí)行次數(shù)的數(shù)量級(jí)。這就意味著只要保證基本語(yǔ)句執(zhí)行次數(shù)的函數(shù)中的最高次冪正確
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 柔性電路理論培訓(xùn)
- 某公司員工培訓(xùn)
- 2024-2025學(xué)年江西省“三新”協(xié)同教研共同體高二下學(xué)期5月聯(lián)考?xì)v史試題(解析版)
- 2026年網(wǎng)絡(luò)信息安全知識(shí)與應(yīng)對(duì)能力考查題集
- 2026年語(yǔ)言學(xué)習(xí)考試漢語(yǔ)言文化基礎(chǔ)試題
- 2026年汽車(chē)制造汽車(chē)工程師招聘面試題集與汽車(chē)工藝知識(shí)問(wèn)答
- 2026年計(jì)算機(jī)網(wǎng)絡(luò)安全防護(hù)措施考試題
- 2026年金融科技產(chǎn)品創(chuàng)新與市場(chǎng)需求分析題庫(kù)
- 2026年公共關(guān)系與危機(jī)處理能力測(cè)試題目
- 2026年知識(shí)產(chǎn)權(quán)保護(hù)試題侵權(quán)行為與法律責(zé)任分析題庫(kù)
- 2026年哈爾濱五常市廣源農(nóng)林綜合開(kāi)發(fā)有限公司招聘工作人員5人筆試備考題庫(kù)及答案解析
- 2025年農(nóng)村人居環(huán)境五年評(píng)估報(bào)告
- 《開(kāi)學(xué)第一課:龍馬精神·夢(mèng)想起航》課件 2025-2026學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 2026年洪湖市事業(yè)單位人才引進(jìn)100人參考考試題庫(kù)及答案解析
- 2026年中好建造(安徽)科技有限公司第一次社會(huì)招聘42人筆試參考題庫(kù)及答案解析
- 北京市海淀區(qū)2025一2026學(xué)年度第一學(xué)期期末統(tǒng)一檢測(cè)歷史(含答案)
- 2026年科研儀器預(yù)約使用平臺(tái)服務(wù)協(xié)議
- 2026年成都錦江人才發(fā)展有限責(zé)任公司公開(kāi)招聘成都市錦江區(qū)編外人員的備考題庫(kù)及參考答案詳解1套
- GB/T 19831.1-2025石油天然氣工業(yè)套管扶正器第1部分:弓形彈簧套管扶正器
- 浙江省杭州市拱墅區(qū)2024-2025學(xué)年四年級(jí)上冊(cè)期末考試數(shù)學(xué)試卷(含答案)
- 新《增值稅法實(shí)施條例》逐條解讀課件
評(píng)論
0/150
提交評(píng)論