答:度量算法的效率
頻度:一個語句的頻度是指該語句在算法中被執(zhí)行的次數(shù)。
時間復(fù)雜度,即分析算法中所有語句的頻度之和T(n)的數(shù)量級。
因?yàn)樗惴ㄖ凶钌顚友h(huán)內(nèi)的語句的頻度與T(n)同量級,因此通常采用算法中最深層循環(huán)內(nèi)語句的頻度f(n)來分析算法的時間復(fù)雜度。將其記作:
T
(
n
)
=
O
(
f
(
n
)
)
T(n)=O(f(n))
T(n)=O(f(n))
注意: 在實(shí)際計算中,一般取f(n)中隨n增長最快的項(xiàng),將其系數(shù)置為1作為時間復(fù)雜度的度量。
例如:f(n)=an3+bn2+cn 的時間復(fù)雜度為 O(n3);f(n)=5 的時間復(fù)雜度為O(1)
void func(n){int i,j;
for(i=0;ifor(j=i;j printf("每天進(jìn)步一點(diǎn)點(diǎn)");
}
}
}
分析:
① 找最深層循環(huán)內(nèi)的語句的頻度,即printf("每天進(jìn)步一點(diǎn)點(diǎn)");
的執(zhí)行次數(shù);
② 取f(n)中隨n增長最快的項(xiàng),將其系數(shù)置1,即該函數(shù)的時間復(fù)雜度為 O(n2) 。
void func(n){int i;
for(i=1;iprintf("每天進(jìn)步一點(diǎn)點(diǎn)");
}
}
分析:
① 找最深層循環(huán)內(nèi)的語句的頻度,即printf("每天進(jìn)步一點(diǎn)點(diǎn)");
的執(zhí)行次數(shù);
② 取f(n)中隨n增長最快的項(xiàng),將其系數(shù)置1,即該函數(shù)的時間復(fù)雜度為 O( l o g 2 n log_2n log2?n) 。
時間復(fù)雜度的比較O(1)常數(shù)階< O(logn)對數(shù)階< O(n)線性階< O(n2)平方階< O(n3)(立方階)< O( 2 n 2^n 2n) (指數(shù)階)
(2)空間復(fù)雜度一個程序在執(zhí)行時所需空間包括:存儲本身所用的指令、常數(shù)、變量和輸入數(shù)據(jù)的空間,以及對數(shù)據(jù)進(jìn)行操作處理所申請使用的輔助空間等。
空間復(fù)雜度,使用S(n)來定義算法所耗費(fèi)的存儲空間,記作 S ( n ) = O ( g ( n ) ) S(n)=O(g(n)) S(n)=O(g(n))
兩種常見空間復(fù)雜度void func(n){int i=1;
int j=2;
int k=i+j;//算法空間與n無關(guān)
}
void func(n){int a[n];//所申請的空間隨著n的取值而進(jìn)行線性變化,空間復(fù)雜度為O(n)
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站題目:數(shù)據(jù)結(jié)構(gòu):時間復(fù)雜度和空間復(fù)雜度求解思路方法詳解-創(chuàng)新互聯(lián)
URL鏈接:http://chinadenli.net/article18/dgjdgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、做網(wǎng)站、網(wǎng)站改版、云服務(wù)器、App設(shè)計、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容