繁体   English   中英

求解 T(n) = 3T(n/5) + T(n/2) + 2^n 的递归

[英]Solve the recurrence of T(n) = 3T(n/5) + T(n/2) + 2^n

我在 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)

我不知道如何用这些值来解决,我做错了什么,或者我应该遵循什么程序来解决这个问题?

您可能希望尽可能减少术语的数量。

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 的大小变得非常大,常数是微不足道的。

您可以简化案例。 随着T(n)的增加,我们知道T(n/2) > T(n/5) 因此, T(n) < 4T(n/2) + 2^n 现在,您可以使用主定理,并说T(n)=O(2^n) 另一方面,如果没有这个替换,因为在T(n)存在2^n ,我们可以说T(n) = \\Omega(2^n) 因此, T(n) = \\Theta(2^n)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM