我现在一直试图解决问题几天。我在网上寻求帮助,我找到的唯一答案与我的结论相反。
以下是问题:
**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?
提前致谢!!!
答案 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
。