關(guān)于算法的時(shí)間復(fù)雜度是什么意思,算法的時(shí)間復(fù)雜度這個(gè)問(wèn)題很多朋友還不知道,今天小六來(lái)為大家解答以上的問(wèn)題,現(xiàn)在讓我們一起來(lái)看看吧!
1、"時(shí)間復(fù)雜度 (1)時(shí)間頻度 1個(gè)算法執(zhí)行所耗費(fèi)的時(shí)間,從理論上是不能算出來(lái)的,必須上機(jī)運(yùn)行測(cè)試才可以知道。
2、但我們不可能也木有必要對(duì)每一個(gè)算法都上機(jī)測(cè)試,只需知道哪個(gè)算法花費(fèi)的時(shí)間多,哪個(gè)算法花費(fèi)的時(shí)間少就可以了。
3、并且1個(gè)算法花費(fèi)的時(shí)間與算法中語(yǔ)句的執(zhí)行次數(shù)成正比例,哪個(gè)算法中語(yǔ)句執(zhí)行次數(shù)多,它花費(fèi)時(shí)間就多。
4、1個(gè)算法中的語(yǔ)句執(zhí)行次數(shù)稱(chēng)為語(yǔ)句頻度或時(shí)間頻度。
5、記為T(mén)(n)。
6、 (2)時(shí)間復(fù)雜度 在剛才提到的時(shí)間頻度中,n稱(chēng)為問(wèn)題的規(guī)模,當(dāng)n不斷變化時(shí),時(shí)間頻度T(n)也會(huì)不斷變化。
7、但有時(shí)我們想知道它變化時(shí)呈現(xiàn)啥規(guī)律。
8、為此,我們引入時(shí)間復(fù)雜度概念。
9、 一般情形下,算法中基本操作重復(fù)執(zhí)行的次數(shù)是問(wèn)題規(guī)模n的某個(gè)函數(shù),用T(n)表示,若有某個(gè)輔助函數(shù)f(n),使得當(dāng)n趨近于無(wú)窮大時(shí),T(n)/f(n)的極限值為不等于零的常數(shù),則稱(chēng)f(n)是T(n)的同數(shù)量級(jí)函數(shù)。
10、記作T(n)=O(f(n)),稱(chēng)O(f(n)) 為算法的漸進(jìn)時(shí)間復(fù)雜度,簡(jiǎn)稱(chēng)時(shí)間復(fù)雜度。
11、 在各種不一樣算法中,若算法中語(yǔ)句執(zhí)行次數(shù)為1個(gè)常數(shù),則時(shí)間復(fù)雜度為O(1),另外,在時(shí)間頻度不相同時(shí),時(shí)間復(fù)雜度有可能相同,如T(n)=n^2+3n+4與T(n)=4n^2+2n+1它們的頻度不一樣,但時(shí)間復(fù)雜度相同,都為O(n^2)。
12、 按數(shù)量級(jí)遞增排列,常見(jiàn)的時(shí)間復(fù)雜度有: 常數(shù)階O(1),對(duì)數(shù)階O(log2n),線性階O(n), 線性對(duì)數(shù)階O(nlog2n),平方階O(n^2),立方階O(n^3),..., k次方階O(nk),指數(shù)階O(2n)。
13、隨著問(wèn)題規(guī)模n的不斷增大,上述時(shí)間復(fù)雜度不斷增大,算法的執(zhí)行效率越低。
14、2、空間復(fù)雜度 與時(shí)間復(fù)雜度類(lèi)似,空間復(fù)雜度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需存儲(chǔ)空間的度量。
15、記作: S(n)=O(f(n)) 我們一般所討論的是除正常占用內(nèi)存開(kāi)銷(xiāo)外的輔助存儲(chǔ)單元規(guī)模。
16、討論方法與時(shí)間復(fù)雜度類(lèi)似,不再贅述。
17、"。
本文分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶(hù)上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!