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

请教这段嵌套循环程序的时间复杂度及计算方法,自我判断存疑

这段代码的时间复杂度分析

先看你的代码:

for(int i = 0; i < n; i ++)
{
    for(int j = 0; j < n; j++)
    {
    }
    for(int k = 0; k < n; k++)
    {           
    }
}

结论:时间复杂度是O(n²)

计算过程:

  • 外层i循环会执行n次。
  • 每次外层循环里,包含两个独立的内层循环:j循环和k循环,每个都执行n次。所以单次外层循环的总操作次数是n + n = 2n。
  • 整体总操作次数为n * 2n = 2n²。根据大O表示法的规则,常数系数可以忽略,最终时间复杂度为O(n²)。

为什么会混淆成O(n³)?

你可能误把两个内层循环当成了嵌套关系(比如k循环写在j循环内部)。如果是嵌套的情况,每次j循环执行时都会触发n次k循环,总操作次数会是n * n * n = n³,时间复杂度才是O(n³)。但你的代码里j和k循环是同级的,都直接属于外层i循环,所以不是嵌套结构。

内容的提问来源于stack exchange,提问作者Suraj Paudel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 17:42:03