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

算法步数为6n³+4n-20时O(n³)的c和n0计算咨询

大O表示法常数c与阈值n₀的计算方法

首先明确大O的核心定义:若算法执行步数函数f(n) = O(g(n)),则必须存在正的常数c、正整数n₀,使得对所有满足n ≥ n₀的输入规模,都成立0 ≤ f(n) ≤ c·g(n)。
注意两个核心约束:c必须是正数,n≥n₀时f(n)必须非负(算法执行步数不可能为负数)。


之前推导的问题

代数变形本身没有错误:

6n³+4n-20 ≤ c·n³
=> 6 + 4/n² - 20/n³ ≤ c

但选n₀=1得到c=-10是完全无效的,原因有两个:

  1. n=1时f(1)=61+41-20=-10,执行步数为负,没有实际意义;
  2. 得到的c是负数,违反了c必须为正常数的要求。

正确计算逻辑

大O表示法不需要找唯一的c和n₀,只要能找到任意一对满足定义的合法值即可,取值不需要最紧,方便验证就行,常规计算分两步:

  1. 先选足够大的n₀,保证n≥n₀时f(n)恒为正,同时所有低阶正项都可以放大为最高次项的倍数,负项直接忽略(减去正数只会让f(n)更小,更满足≤的关系)。
  2. 代入放大后的不等式,算出对应的常数c即可。

针对f(n)=6n³+4n-20的合理取值举例

取值1(计算最方便,最常用)

选n₀=2,c=10,验证如下:

  • 当n≥2时,n²≥4,因此4n ≤ 4n·n² =4n³
  • 因为-20是负数,因此6n³+4n-20 ≤6n³+4n <6n³+4n³=10n³
  • 同时n≥2时f(n)最小值为f(2)=68+42-20=36>0,完全满足0≤f(n)≤10n³的要求。

取值2(更紧的常数)

选n₀=5,c=7,验证如下:

  • 当n≥5时,4/n² ≤4/25=0.16,-20/n³ ≥-20/125=-0.16,因此6+4/n²-20/n³ ≤6+0.16=6.16 <7
  • 代入原式即得6n³+4n-20 ≤7n³,同时n≥5时f(n)最小值为f(5)=6125+45-20=750>0,同样满足定义。

你甚至可以选n₀=10、c=6.1,只要能证明n≥n₀时不等式恒成立就可以,没有唯一标准答案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:54:18