如何证明常数是 O(1)
How to prove a constant is O(1)
你如何证明 2 是 O(1)?
此外,您如何证明常数是 theta(1) 因此是 omega(1) 和 O(1)?
对于O,我的印象是你可以对f(n)做一个化简,这样它就可以减少到1,但是这怎么能证明2是O(1)一些n0?在这种情况下,n0 值是多少?
根据定义,如果存在常量 n0[=,则函数 f 的复杂度为 O(1) 42=] 和 M 这样 f(n) ≤ M · 1 = M 所有 n ≥ n0.
如果f(n)定义为2,那么只要设置M = 2(或任何更大的值;无关紧要)和 n0 = 1(或任何更大的值;无关紧要) , 满足条件
[…] that 2 is O(1) for some n0? What would be the n0 value in this case?
n0这里不是参数;说"O(1) for some n0"没有意义。您可以任意选择 any 值 n0 使得 f满足条件;如果存在,则 f 是 O(1),周期。
Big Oh 和 Theta 因此不表示算法所用的时间。它们表示算法的 随着输入增加 的时间增加率。当你明白这一点时,事情就会变得非常简单,而且不那么数学化。 f(x) = 2 {for all and any x} 总是 O(1) 因为输出值 (2) 根本不依赖于输入值 (x)! O(1) 表示这种独立性。 theta(1) 和 omega(1) 也是如此。
你如何证明 2 是 O(1)?
此外,您如何证明常数是 theta(1) 因此是 omega(1) 和 O(1)?
对于O,我的印象是你可以对f(n)做一个化简,这样它就可以减少到1,但是这怎么能证明2是O(1)一些n0?在这种情况下,n0 值是多少?
根据定义,如果存在常量 n0[=,则函数 f 的复杂度为 O(1) 42=] 和 M 这样 f(n) ≤ M · 1 = M 所有 n ≥ n0.
如果f(n)定义为2,那么只要设置M = 2(或任何更大的值;无关紧要)和 n0 = 1(或任何更大的值;无关紧要) , 满足条件
[…] that 2 is O(1) for some n0? What would be the n0 value in this case?
n0这里不是参数;说"O(1) for some n0"没有意义。您可以任意选择 any 值 n0 使得 f满足条件;如果存在,则 f 是 O(1),周期。
Big Oh 和 Theta 因此不表示算法所用的时间。它们表示算法的 随着输入增加 的时间增加率。当你明白这一点时,事情就会变得非常简单,而且不那么数学化。 f(x) = 2 {for all and any x} 总是 O(1) 因为输出值 (2) 根本不依赖于输入值 (x)! O(1) 表示这种独立性。 theta(1) 和 omega(1) 也是如此。