Algorithm O(对数n)和O(对数n和a)之间的差异

Algorithm O(对数n)和O(对数n和a)之间的差异,algorithm,Algorithm,我正在做一个家庭作业,简化一个循环,并试图找到上界 我已经把我的方程降到了O(log(n+2)),我想知道,一般来说: O(log(n))=O(log(n+a))对于任何a?是,如果a完全独立于输入大小,则可以这样说。其目的是显示复杂度如何随着输入数据的大小而增加/减少。是的,如果已知函数f为O(logn),那么对于任何常数a,它也是O(logn+a)) 看看我们计算的极限 lim log(n + a) / log(n) = = lim log(n (1 + a/n)) / log(n) =

我正在做一个家庭作业,简化一个循环,并试图找到上界

我已经把我的方程降到了O(log(n+2)),我想知道,一般来说:


O(log(n))=O(log(n+a))
对于任何
a

是,如果
a
完全独立于输入大小,则可以这样说。其目的是显示复杂度如何随着输入数据的大小而增加/减少。

是的,如果已知函数
f
O(logn)
,那么对于任何常数
a
,它也是
O(logn+a))

看看我们计算的极限

lim log(n + a) / log(n) =
  = lim log(n (1 + a/n)) / log(n) =
  = lim (log(n) + log(1 + a/n)) / log(n) =
  = lim 1 + (log(1 + a/n)/log(n)) =
  = 1
当n趋于无穷大时。下一步,因为
f
O(logn)
,使用我们有:

因此,
lim sup f(n)/log(n+a)
也以
C
为界,因此,
f
O(log(n+a))

C = lim sup f(n) / log(n) =
  = lim sup f(n) / log(n + a) * log(n + a) / log(n) =
  = (lim sup f(n) / log(n + a)) * 1