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

时间:2017-07-18 06:33:34

标签: algorithm asymptotic-complexity divide-and-conquer

我正在学习Coursera中的分而治之算法,我遇到了这种递归关系:

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

答案是:

O(√n)

我已经学习了主方法和递归树分析,但我不知道如何分析这种递归关系。
谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

enter image description here

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

enter image description here

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

继续m次迭代:

enter image description here

假设T(n)终止于n = 0(或某些常数,并不重要)

enter image description here

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

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