求解递归关系 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) = √n T(√n) + n [关闭]
求解递归 T(n) = T(n/2) + lg n? [关闭]