我试图理解以下问题的正确答案:
screen shot of question
答案是所有的都是真的,因为lgn可以说是log8n的θ,其中包括所有三个选择。
这让我很困惑,因为对于n的任何正值,logn都会大于log8n,对吗?。如果说logn与log8n紧密结合,则意味着logn既是log8n的大o,又是log8n的大Ω。或者用通俗的英语来说,logn不大于k1 x log8n,也不小于k2 x log8n。
我的回答是logn是log8n的大欧米茄,因为它不应该花费更少的时间为什么这是错的?
最佳答案
假设lg
表示自然对数,则有一个log_8(n)=lg(n)/lg(8)
表示自然对数,因此这两个函数仅通过乘法因子不同。
现在,让我们来看看this table中的Big O
案例,其中f
是lg
而g
代表log_8
如果设置k=lg(8)
,则自动满足第三列中的条件换言之,满足条件“| f |以g(直至常数因子)为界”是因为,从松散的术语来说,这两个函数实际上是相同的直至常数(乘法)因子。
同样的推理也适用于Big Omega
,因此也可以得到Big Theta
(在定义中直接使用k1=k2=lg(8)
)