我在假设T(n)是n <= 2的接触的情况下解决了T(n)的重现。我开始用树方法解决这个T(n),因为我们不能使用主这里的方法,但是当我做树时,我当然正在计算这个T(n)的时间C但是我的Cs非常不平凡而且很奇怪,所以我得到了
c = 2^n and then for the next c I get ' 3 * 2^(n/5) + 2^(n/3)
我不知道如何用这些价值来解决,有什么我做错了或者我应该遵循什么程序才能解决这个问题?
答案 0 :(得分:1)
您可能希望尽可能减少术语数量。
3 * 2^(n/5) + 2^(n/3) = 3 * (2^(1/5) * 2^n) + (2^(1/3) * 2^n)
然后将所有系数组合在一起。
(3 * 2^(1/5)) * 2^n + (2^(1/3)) * 2^n
请注意,公共因子是2^n
。所以你会得到:
(3 * 2^(1/5) + 2^(1/3)) * 2^n
我要将产品的第一部分命名为constant
会给我们:
constant * 2^n
只是T(2^n)
,因为当n的大小非常大时,常量是无关紧要的。
答案 1 :(得分:0)
您可以简化案例。随着T(n)
的增加,我们知道T(n/2) > T(n/5)
。因此,T(n) < 4T(n/2) + 2^n
。现在,您可以使用主定理,并说出T(n)=O(2^n)
。另一方面,如果没有此替换,因为2^n
中存在T(n)
,我们可以说T(n) = \Omega(2^n)
。因此,T(n) = \Theta(2^n)
。