递归关系的时间复杂度:T(n)= nT(n ^ 1/2)+ O(1)

时间:2019-09-18 03:51:34

标签: algorithm recurrence

我想使用伸缩T(n) = nT( n^(1/2) )+ O(1)解决此递归关系。但是,我陷于最后一步。我检查了所有帖子,没有类似的问题。

我尝试过: enter image description here

我已经列出了子系统并将其概括化。我不打算下一步,可以得到一些帮助吗? 非常感谢!

1 个答案:

答案 0 :(得分:0)

有了n = 2^(2^m),我们有了√n = 2^(2^(m-1))。重复写

U(m) = 2^(2^m).U(m-1) + O(1).

齐次方程具有解

U(m) = 2^(2^m).2^(2^(m-1)).… 2^(2^1).U(0) 
     = 2^(2^m+2^(m-1)+ … 2).U(0)
     = 2^(2^(m+1)-2).U(0)

T(n) = n²/4.T(2)

如果我是对的,我们可以添加一个低阶术语,

T(n) = n²/4.T(2) + O(1/n²),

n(√n²/4.T(2) + O(1/√n²)) = n²/4.T(2) + O(1).