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

如何证明n² ∈ O(n³)?Big O符号求证疑问

嘿,很高兴你已经搞定了3n² + 4 ∈ O(n²)这类证明,其实n² ∈ O(n³)的证明流程和你熟悉的完全是一个路子——核心都是死死扣住大O的正式定义来走。我给你一步步拆解清楚:

第一步:先锚定大O的严格定义

咱们先把定义摆出来,避免走偏:

对于两个非负函数 f(n) 和 g(n),如果存在正的常数C和非负整数n₀,使得对于所有的 n ≥ n₀,都满足 f(n) ≤ C * g(n),那么我们就说 f(n) ∈ O(g(n))。

这个定义是所有大O证明的核心,不管函数形式怎么变,都得围着它转。

第二步:代入目标函数,转化成不等式问题

我们要证明的是 n² ∈ O(n³),对应定义里的:

  • f(n) = n²(我们要分析的函数)
  • g(n) = n³(作为参照的高阶函数)

所以现在的问题就变成:找一组符合要求的C>0和n₀≥0,让当n ≥ n₀时,n² ≤ C * n³恒成立。

第三步:化简不等式,找合适的常数

咱们对不等式做个简单变形(注意n是正整数,n≥1时n²是正数,两边除以它不等号方向不变):
n² ≤ C * n³ → 两边除以n²得到:1 ≤ C * n

现在问题就简化多了:只要找到C和n₀,让n ≥ n₀时C*n ≥1就行。这里选常数非常灵活,举两个例子:

  • 选C=1:那不等式变成n ≥1,所以取n₀=1。这时候只要n≥1,1*n ≥1,也就是n² ≤1*n³(因为n³ =n*n²,n≥1时nn²≥1n²),完全成立。
  • 选C=0.5:不等式变成0.5n ≥1 → n≥2,取n₀=2。当n≥2时,0.5n≥1,所以n² ≤0.5n³也成立。

第四步:验证一下,确保没毛病

拿C=1、n₀=1来验证几个值:

  • n=1时:n²=1,1*n³=1,1≤1成立;
  • n=5时:n²=25,1*n³=125,25≤125成立;
  • n=100时:n²=10000,1*n³=1000000,10000≤1000000显然成立。

和你之前证明的对比

其实和你搞定3n²+4 ∈ O(n²)的逻辑完全一致:

  1. 先明确大O的核心定义;
  2. 代入函数转化为不等式问题;
  3. 化简不等式,找到符合要求的C和n₀;
  4. 验证不等式在n≥n₀时恒成立。

唯一的区别是,之前的例子是“带低次项的同阶函数”证明属于同阶大O,而这次是“低阶函数”证明属于高阶函数的大O,但本质都是利用「当n足够大时,高阶项的增长会完全覆盖低阶项」这个特性,只不过这次的项的大小对比更直接而已。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:23:20