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

算法时间复杂度求解:分析循环语句for(int i=0;i<n;i++) i*=m;的时间复杂度

算法时间复杂度问题解答

问题1:请问该算法的时间复杂度是多少?

嘿,兄弟,你得把具体的算法代码或者核心逻辑描述清楚呀!时间复杂度的计算完全取决于算法里的循环、递归这类关键执行步骤,没有具体内容的话我没法给你精准判断哦。比如是单层循环、嵌套循环,还是带分治逻辑的递归?把细节补上,我马上帮你分析到位!

问题2:求解循环语句for(int i=0;i<n;i++) i*=m;的时间复杂度

先给你提个醒——如果初始值i=0的话,第一次循环执行i*=m之后i还是0,这直接就死循环了啊😅!我猜你大概率是笔误,应该是int i=1吧?那我按这个合理的情况来分析:

每次循环i都会乘以m,也就是i的变化序列是:1 → m → m² → m³ → ... → mᵏ,直到mᵏ ≥ n时循环停止。解这个不等式mᵏ ≥ n,两边取以m为底的对数,就能得到k ≥ logₘ n。也就是说循环执行的次数是logₘ n这个量级的,所以时间复杂度是O(logₘ n)。

要是真的是i从0开始,那这个循环永远不会结束,时间复杂度就是O(∞),这显然是不合理的写法,建议检查下初始值哦!


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 20:57:46