如何解决以下递归关系?

时间:2019-10-01 12:15:02

标签: algorithm time-complexity analysis recurrence

考虑link中提供的递归方程。这不符合主定理要求的形式。我不想使用替代方法,因为这很耗时。我也通过更改变量(k = 2 ^ m)感到疲倦,但失败了。

如何通过递归树或迭代方法解决此问题?

 T(n) =n^0.5  T(n^0.5) + n 

p.s: 预期的解决方案是: O(nlglgn)

1 个答案:

答案 0 :(得分:0)

让U(n)= T(n)/ n。

然后U(n)= n 1/2 T(n 1/2 )/ n + 1,依此类推

U(n)= T(n 1/2 )/ n 1/2 + 1

U(n)= U(n 1/2 )+1

通过迭代方法很容易找到U(n)<= log log n + U(2),因为这是在获得2之前可以乘以n的平方根的次数(使用对数2)。然后可以根据需要对所有n> 2进行归纳证明。

因此,您有T(n)= U(n)* n <= n(对数log n + T(2)/ 2),并且在O(n对数log n)中