Time 2^O(log(n))的时间复杂度

Time 2^O(log(n))的时间复杂度,time,big-o,Time,Big O,我正在练习考试,遇到了这个问题: 正确或错误:2O(log(n))=O(n) 我真的不知道该怎么解决这个问题 我想尝试应用big-o的定义,但我不确定它是如何工作的,因为二的幂。从数学上讲,这是错误的,因为e!=2应该是e^O(logn)=O(n),但我想这取决于上下文,因为就函数或程序的时间复杂性而言,这几乎是正确的。如果问题指定了它的基本2日志,则完全正确。 因此,(1)不可能是真的。你有没有尝试过计算2**Math.log2(n)(我在这里假设基数为2 log)?对于任何想知道的人来说,答

我正在练习考试,遇到了这个问题:

正确或错误:2O(log(n))=O(n)

我真的不知道该怎么解决这个问题


我想尝试应用big-o的定义,但我不确定它是如何工作的,因为二的幂。

从数学上讲,这是错误的,因为
e!=2
应该是
e^O(logn)=O(n)
,但我想这取决于上下文,因为就函数或程序的时间复杂性而言,这几乎是正确的。如果问题指定了它的基本2日志,则完全正确。


因此,(1)不可能是真的。

你有没有尝试过计算
2**Math.log2(n)
(我在这里假设基数为2 log)?对于任何想知道的人来说,答案都是假的。这个结果背后的原理是什么?如果它是对数基数2,对我来说似乎是真的。不管基数实际上是什么,请记住big-O隐藏了一个未知的比例常数,在这种情况下,它会影响基数的有效值。结论:这个表达式不可简化。问题没有具体说明,但我的教授说,如果没有明确给出,则假设基数2。如果我们假设基数e为2^ln(x)以x的常数倍数为界,我认为这仍然是正确的,如此链接所示: