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

Big O表示法的正确表述:O(n)+O(m)能否替代O(n+m)?

O(n)+O(m) 是否属于错误表述?

从大O符号的数学定义来看,O(n) + O(m)和O(n+m)是完全等价的:

  • 大O符号本质是描述函数增长速度的集合,O(n)代表所有不超过n线性增长的函数,O(m)同理。
  • 两个集合的“和”(即任意取f∈O(n)、g∈O(m),得到f(n)+g(m)),其增长速度刚好被n+m的线性增长所约束,完全符合O(n+m)的定义。

但你在测试中被判错,核心原因是行业惯例和标准表述规范:

  • 算法分析领域的通用做法是将同阶的复杂度项合并简化,比如不会写O(n)+O(n)而是直接写O(n),O(n)+O(m)也会被统一简化为O(n+m),这是约定俗成的简洁表达。
  • 多数算法测试/考试会要求使用最符合行业共识的标准写法,哪怕数学上等价,非标准表述也会被判定错误,目的是让学习者养成规范的表达习惯。

简单说:数学上没错,但在算法分析的常规语境和考核场景里,O(n+m)才是正确且被认可的写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:41:35