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

下述C++代码的空间复杂度是多少?判断为O(t²)是否正确?

代码空间复杂度判断解答
int t;
cin >> t;
string *teacher;
teacher = new string[int(pow(t, 2))];

我认为上述代码的空间复杂度是O(t²),请问该判断是否正确?

你的判断完全正确,推导过程如下:

  • 代码中普通变量t、指针变量teacher本身的内存占用为固定常量,空间复杂度为O(1),不会随输入t的规模发生变化
  • 整段代码的核心动态内存开销来自new string[int(pow(t, 2))]语句,这里直接申请了和t²数量相等的string类型对象数组,内存占用规模和t的平方呈线性正相关
  • 渐近空间复杂度取随输入规模增长的最高量级,因此这段代码的整体空间复杂度为O(t²)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:11