一只甜甜圈
2023-04-20 15:15:40
For循環(huán)里面嵌套有if語句如何求時(shí)間復(fù)雜度,比如if(){},是看()里語句的執(zhí)行次數(shù)還是看{}里語句的執(zhí)行次數(shù)
2 回答

翻過高山走不出你
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
循環(huán)嵌套if
if(){},括號(hào)里是邏輯表達(dá)式,只有邏輯表達(dá)式成立的時(shí)候才會(huì)執(zhí)行{}中的代碼。
所以執(zhí)行次數(shù)不一定一樣。如果循環(huán)過程中()中邏輯表達(dá)式一直成立,兩者都執(zhí)行了一樣的循環(huán)次數(shù)。如果循環(huán)執(zhí)行時(shí)邏輯表達(dá)式不成立,{ }肯定不會(huì)執(zhí)行。
所以,循環(huán)次數(shù)看()執(zhí)行的次數(shù)。

犯罪嫌疑人X
TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
都得看,只要有運(yùn)算的地方,都得算上
比如for(i=0;i<N;i++)if(strlen(s[i])==10)puts(s[i]);這樣的
strlen一次就是O(len),循環(huán)N次
其實(shí)復(fù)雜度就是O(∑leni)所有字符串長(zhǎng)度總和
添加回答
舉報(bào)
0/150
提交
取消