For循環里面嵌套有if語句如何求時間復雜度,比如if(){},是看()里語句的執行次數還是看{}里語句的執行次數
2 回答

翻過高山走不出你
TA貢獻1875條經驗 獲得超3個贊
循環嵌套if
if(){},括號里是邏輯表達式,只有邏輯表達式成立的時候才會執行{}中的代碼。
所以執行次數不一定一樣。如果循環過程中()中邏輯表達式一直成立,兩者都執行了一樣的循環次數。如果循環執行時邏輯表達式不成立,{ }肯定不會執行。
所以,循環次數看()執行的次數。

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