Algorithm O(对数n)和O(对数n和a)之间的差异
我正在做一个家庭作业,简化一个循环,并试图找到上界 我已经把我的方程降到了O(log(n+2)),我想知道,一般来说: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))=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