algorithm - 如何解决这个递归关系: T(n) = 4*T(sqrt(n)) + n

标签 algorithm recurrence

我知道如何使用 Master Method 解决递推关系。 我也知道如何解决以下重复问题:

T(n) = sqrt(n)*T(sqrt(n)) + n

T(n) = 2*T(sqrt(n)) + lg(n)

在上面的两个递归中,递归树的每一层都有相同的工作量。并且递归树中一共有log log n层。

我在解决这个问题时遇到了麻烦: T(n) = 4*T(sqrt(n)) + n

编辑: 这里 n 是 2 的幂

最佳答案

假设 n = 2^k。我们有 T(2^k) = 4*T(2^(k/2)) + 2^k。让 S(k) = T(2^k)。我们有 S(k) = 4S(k/2) + 2^k。通过使用 Mater Theorem,我们得到 S(k) = O(2^k)。由于 S(k) = O(2^k) 和 S(k) = T(2^k),T(2^k) = O(2^k) 这意味着 T(n) = O(n)。

关于algorithm - 如何解决这个递归关系: T(n) = 4*T(sqrt(n)) + n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13458399/

相关文章:

python - 获取每个象限最近点的快速方法

algorithm - 缓冲/流式在线视频背后的算法是什么?

algorithm - 递归关系

algorithm - 计算最严格的 Big-Oh 循环边界

algorithm - 动态规划的复杂组合条件

algorithm - 解码排列的英文字符串

algorithm - 为一组 3D 矩形项目找到最佳 3D 框尺寸

搜索位置以将圆添加到平面上现有集合的算法

sql - 如何使用 SQL Server sysschedules 模型查询给定日期的所有事件?