You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请问这段外层为O(1)的嵌套循环代码的大O表示法时间复杂度是多少?为什么?

代码时间复杂度分析

先看给出的C语言代码:

void function(int n) {
    int i;
    int x = 0;
    
    for (i = 0; i < 10; i++)
        for (j=0; j < n/2; j++)
            x--;
}

复杂度分析:

这段代码的整体时间复杂度是 O(n),原因如下:

  • 外层for循环固定执行10次,属于常数次数的循环,时间复杂度为O(1),不会随输入规模n的变化而改变。
  • 内层for循环的执行次数和n成正比,虽然是n/2次,但大O表示法会忽略常数系数,因此内层循环的时间复杂度是O(n)。
  • 嵌套循环的总执行次数是外层次数乘以内层次数,也就是10 * (n/2) = 5n次。大O表示法只关注随n增长的主导项,常数系数5可以忽略,因此整体时间复杂度由内层循环的O(n)主导,最终为O(n)。

内容的提问来源于stack exchange,提问作者Andrew Budiman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 18:55:27