algorithm - 使用递归树方法求解带分数的递归方程

标签 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

一棵树怎么会有3/2的 Twig ?使用递归树无法解决这个问题吗?谁能准确解释这在递归树方法中是如何工作的?或者对于这种形式的方程式,是否有另一种更容易的方法?

最佳答案

How can there be 3/2 th of a branch?

简单:您在 x 步上有 4 个分支,然后在 x + 1 步上您将有 4 * 3/2 = 6 branches(如果你不能划分数字,使用floor)。

Can anyone explain exactly how this would work in the recursion tree method?

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

Is there another method that would be easier for this form of equation?

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

关于algorithm - 使用递归树方法求解带分数的递归方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35716259/

相关文章:

algorithm - 拓扑排序为什么要找最短路径O(V+E)

recursion - 在golang中创建数字组合的递归函数

c++ - C++中的打印相反三角形函数

c++ - 构建/组织文件系统文件夹的链表

algorithm - 按 N 顺序创建最大树

python - 在 Python 中随机选择数组中的连续元素

ruby - 比较等长的字符串并注意差异发生的位置

arrays - 给我 O(logd) 的算法是什么

javascript - 递归和条件混淆

java - 如何避免java中自引用类型安全接口(interface)的参数类型警告?