我计算出我的运行时复杂度是4,这个的大O表示法是什么?
例如,如果我的运行时复杂度是4 + n那么它的大O =O(n).
让我们宽松地看一下我们所说的定义f(n) is in O(g(n))
:
f(n)
is in O(g(n))
意思是c · g(n)
是上界f(n)
。于是就有了
存在一些常数c
这样f(n) ≤ c · g(n)
成立于
足够大n
(IE。 ,n ≥ n0
对于一些常数n0
).
您可以像对待任何其他函数一样对待常量函数。使用例如分析其渐近行为大 O 表示法。
f(n) = 4
g(n) = 1
f(n) ≤ c · g(n) = c · 1, for c ≥ 4 and for all n (*)
(*) with e.g. n0=0 and c=4 => f(n) is in O(1)
注意:正如 Ctx 在下面的评论中指出的那样,O(1)
(或者例如O(n)
)描述了一个函数集,所以要完全正确,f
应该被描述为O(1)
(f ∈ O(n)
, f
:s 将成员资格设置为O(1)
), 而不是"f(n)
正在O(1)
"。但是,您可能会看到不太严格的版本"f(n)
is in O(1)
"(或一些O(g(n))
)就像在网络上一样频繁,至少在科学文章的范围之外。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)