指数大O等值

时间:2016-09-30 03:43:50

标签: big-o computer-science

我现在一直试图解决问题几天。我在网上寻求帮助,我找到的唯一答案与我的结论相反。

以下是问题:

   **3^n = 2^(O(n))   True or False?**

结论是" TRUE"正确的答案是:

3^n = 2^(O(n)) since 3^n = 2^(n*log_2(3)) = 2^(O(n))

问题是我不知道答案是如何确定的。一步一步的过程对我来说是最好的解释。换句话说,如何将3 ^ n = 2 ^ n转换为对数,我们如何确定常数和起始点,其中n> = k?

编辑: 也许在这个有根据的猜测中解释2&3和3的来源会更容易。解决方案有3个,2个2个。

If f(n) = 3^n and g(n) = 2^n 

The 3 in 2^(n*log_2(3)) must be coming from f(n)?
The 2 in 2^(n*log_2(3)) must be coming from g(n)'s base?
----> Is the log_2 a constant?? 

换句话说,如果问题是

7^n  = 4^(O(n)) ? 

正确答案是

4^(n*log_2(7))

How is k determined, where all n >= k?

提前致谢!!!

1 个答案:

答案 0 :(得分:1)

教授是对的。他们的逻辑如下: 3^n = (2^log_2(3))^n = 2^(n*log_2(3)) = 2^O(n)

log_2(3) = z表示“2对z的力量给我3”,我们向该指数加2,所以得到3^n

基本上他们表明,通过将2^x中的指数乘以常数,您可以将基数更改为3. Big O drop常量,因此如果基数为2或3则无关紧要。

编辑:

If f(n) = 3^n and g(n) = 2^n 

The 3 in 2^(n*log_2(3)) must be coming from f(n)?
The 2 in 2^(n*log_2(3)) must be coming from g(n)'s base?
----> Is the log_2 a constant?? 

我不确定你在这里要问的是什么。常数的log_2是常数。

4^(n*log_2(7))

Where k = 7, and n >= 7 and 2 is the constant 'c'?

您的“回答”应为7^n = 4^O(n)。您显示此信息的方式为7^n = 4^(n*log_4(7)) = 4^O(n)4^log_4(7) = 7