求解递归关系 T(n) = T(n-√n)+1

Posted

技术标签:

【中文标题】求解递归关系 T(n) = T(n-√n)+1【英文标题】:Solving a Recurrence Relationship T(n) = T(n-√n)+1 【发布时间】:2017-12-22 20:57:21 【问题描述】:

我在Coursera学习分治算法,遇到过这种递归关系:

T(n) = T(n-√n)+1

给出的答案是:

O(√n)

我学过master方法和递归树分析,但是我不知道如何分析这个递归关系。 感谢您的帮助。

【问题讨论】:

【参考方案1】:

我们可以通过使用二项式展开来获得这个阶段的上限:

请注意,对于大 n,RHS 小于 LHS,这意味着每次我们应用近似值时,我们都会从参数中减去一个较小的值到 T,因此结果将是一个上限。

继续m 迭代:

假设T(n) 终止于n = 0(或某个常数,没关系)

因此复杂度为O(m) = O(√n)


编辑:上面的 = 4√n 是错误的,抱歉 - 应该是 (2+5/√2)√n

【讨论】:

以上是关于求解递归关系 T(n) = T(n-√n)+1的主要内容,如果未能解决你的问题,请参考以下文章

求解递归关系T(n)= T(n-1)+ n

求解递归关系 T(n) = √n T(√n) + n [关闭]

求解递归 T(n) = T(n/2) + lg n? [关闭]

使用主定理求解递归 T(n) = T(n / 2) + O(1)? [关闭]

递归关系:T(n) = T(n/2) + n

如何求解:T(n) = T(n/2) + T(n/4) + T(n/8) + (n)