算法復雜度分析方法

一、 時間復雜度

全稱是漸進時間復雜度,表示算法的執(zhí)行時間與數(shù)據(jù)規(guī)模之間的增長關系。

三點原則:
1. 只關注循環(huán)執(zhí)行次數(shù)最多的一段代碼

大 O 這種復雜度表示方法只是表示一種變化趨勢。我們通常會忽略掉公式中的常量、低階、系數(shù),只需要記錄一個最大階的量級就可以了。所以,我們在分析一個算法、一段代碼的時間復雜度的時候,也只關注循環(huán)執(zhí)行次數(shù)最多的那一段代碼就可以了。

2. 加法法則:總復雜度等于量級最大的那段代碼的復雜度

代碼中有多段循環(huán)代碼,選取量級最大的那段為標準。

3. 乘法法則:嵌套代碼的復雜度等于嵌套內(nèi)外代碼復雜度的乘積`

與加法法則不同,有嵌套的情況,復雜度應為乘積。

二、 空間復雜度

全稱就是漸進空間復雜度(asymptotic space complexity),表示算法的存儲空間與數(shù)據(jù)規(guī)模之間的增長關系。

空間復雜度較時間復雜度來說要簡單得多,只看要分析的代碼分配了占用多少空間的變量即可,常見的空間復雜度就是 O(1)、O(n)、O(n2 ),對數(shù)階的復雜度平時很少見。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容