如何解决递归复杂度T(n)= T(n / 4)+ t(3n / 4)+1?

时间:2015-01-30 13:26:27

标签: runtime

如何解决递归复杂性

T(n)= T(n / 4)+ t(3n / 4)+1?

我已经尝试过使用迭代方法解决问题。

答案应该是O(n)。

1 个答案:

答案 0 :(得分:0)

使用递归树方法或Akra–Bazzi method。使用Akra-Bazzi方法:

g(n) = 1 
a1 = 1
a2 = 1  
b1 = 1/4
b2 = 3/4  

现在,找到p的值,其中(1/2) p +(3/4) p = 1。 p将出现1。使用公式

enter image description here

您将获得积分部分的值等于1 - 1 / x。最后,您将获得整个表达式的值2x - 1。它的大theta符号相当于x的大theta符号。