使用递归树方法

时间:2016-03-01 06:39:47

标签: algorithm recursion tree recurrence

我试图弄清楚如何解决递归方程式,如果方程式是这样的话,我可以使用递归树方法轻松完成它们,例如:

T(1) = 1;
T(n) = n + 2T(n/2) for n > 1 

但是我无法理解如何解决通过分数修改递归的方程式,例如:

T(1) = 1;
T(n) = n + 3/2T(.9n) for n > 1

如何在树中有三分之二的分支?用递归树解决这个问题是不可能的吗?任何人都可以解释这在递归树方法中的确切作用吗?或者是否有另一种方法可以更容易实现这种形式的方程式?

1 个答案:

答案 0 :(得分:2)

  

分支的3/2 th怎么样?

简单:您在步骤x上有4个分支,然后在步骤x + 1上您将拥有4 * 3 / 2 = 6个分支(如果您无法分割数字,请使用楼层)。

  

任何人都可以确切地解释这在递归树中是如何工作的   方法

您展开递归,创建一个巨大的总和,发现相似性并收敛总和。

  

是否有另一种方法可以更容易实现这种形式的方程式?

是的,人们已经完成了我在上一步中描述的一般递归T(n) = a T(n/b) + f(n) and created a theorem。你需要的只是记住它(实际上你需要理解它),你可以解决任何类型的递归。