我被问希望我能辨别的几个对数函数的大O符号的面试问题。 功能如下:
F(X)=日志5(x)的
F(X)=日志(×5)
F(X)=日志(6 *登录x)的
F(X)=日志(日志x)的
我被告知,大O的第一和第二并不等同,第三和第四的位置不是在错误的猜测相反的等价物。 任何人都可以解释为什么他们是不等价的,以及他们的大O的呢?
我被问希望我能辨别的几个对数函数的大O符号的面试问题。 功能如下:
F(X)=日志5(x)的
F(X)=日志(×5)
F(X)=日志(6 *登录x)的
F(X)=日志(日志x)的
我被告知,大O的第一和第二并不等同,第三和第四的位置不是在错误的猜测相反的等价物。 任何人都可以解释为什么他们是不等价的,以及他们的大O的呢?
所以,你必须为O(log日志中记录日志记录X),O(对X),O(日志记录x)和O(日志记录X),三个不同的大O类。
如果你的面试官说:3和4是不同的,要么他错了或者你记错的问题(发生的时间)。
这是数学的问题:
因此,大O是
因此,(1)和(2)是不等价的,但(3)和(4)(虽然他们来自不同的两种(1)和(2))
f(x) = log^5(n)
f(x) = log(n^5) -> 5 log(n)
O(5 log(n)) < O(log(n)^5)
f(x) = log(6*log n) -> log(6)+log(log(n))
f(x) = log(log n)
log(log n) < log(6) + log(log(n))
尽管日志(6)是一个常数,使得它们具有相同的直径:
我假设你的意思是f(n)
而不是f(x)
为1和2, log^5(n)
相当于O(log log log log log(n))
而log(n^5) = 5 log(n) = O(log n)
。
对于3和4,我不同意。 log(6*log n) = log(6) + log(log n) = O(log log n)
,这是因为4相同的- O(log log n)
。