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

求解指定双层for循环的时间复杂度Big-O(大O)表示

双层for循环时间复杂度计算

代码片段

for (int i = 1; i < n; i = i * 2)
{
    for (int j = 1; j < i; j++)
    {
        //const time
    }
}

复杂度分析步骤

  • 外层循环逻辑:i从1开始每次翻倍,直到小于n,总执行次数为log₂n次,对应时间复杂度阶为O(log n)
  • 内层循环逻辑:每次外层循环的i值确定后,j从1遍历到i-1,单次外层循环对应的内层执行次数为i-1次
  • 总执行次数统计:将所有外层循环对应的内层次数累加,可得总次数为 0 + 1 + 3 + 7 + ... + (2^k -1),其中k为log₂n向下取整的结果
  • 等比数列求和简化:上述累加式的核心项等价于首项为1、公比为2的等比数列前log₂n项和,代入等比数列求和公式可得总执行次数核心为 2^log₂n -1 = n-1
  • 最终时间复杂度:忽略常数项和低阶项后,整个循环结构的时间复杂度为O(n)

内容的提问来源于stack exchange,提问作者ammar albakri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:45:03