Windows驅(qū)動(dòng)專家課程
按照這個(gè)思路,再來看這段代碼
int cal(int n) {
? int sum = 0;
? int i = 1;
? int j = 1;
? for (; i <= n; ++i) {
? ? j = 1;
? ? for (; j <= n; ++j) {
? ? ? sum = sum + ?i * j;
? ? }
? }
}
我們依舊假設(shè)每個(gè)語句的執(zhí)行時(shí)間是T。那么這次代碼總的執(zhí)行T(n)時(shí)間是多少呢?
第2、3、4行代碼各自需要一個(gè)T,一共需要3T的時(shí)間,第5、6行分別需要執(zhí)行nT,一共2nT,第6、7行分別循環(huán)執(zhí)行了n2遍,一共需要2n2T。所以代碼總的執(zhí)行時(shí)間為(2n2 +2n+3)T.
標(biāo)簽: