考虑link中提供的递归方程。这不符合主定理要求的形式。我不想使用替代方法,因为这很耗时。我也通过更改变量(k = 2 ^ m)感到疲倦,但失败了。
如何通过递归树或迭代方法解决此问题?
T(n) =n^0.5 T(n^0.5) + n
p.s: 预期的解决方案是: O(nlglgn)
答案 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)中