我试图解决这种情况,但我不知道如何展开它。
T(n)=2T((n+2)/3) + 1
我可以忽略这个" + 2"并解决它,因为它是2T(n / 3)+ 1?
这来自一个使用V[a..b]
数组并使其返回的问题:
return V(X) + f(V, a, Y) + f(V, Z, b)
Y
为(2a+b)/3 and Z is (a+2b)/3
所以:((b-a+3)/3) = ((n+2)/3)
答案 0 :(得分:2)
排序。这个技巧的严格版本是设置U(n) = T(n+1)
并写
U(n) = T(n+1)
= 2T((n+1+2)/3) + 1
= 2T(n/3 + 1) + 1
= 2U(n/3) + 1.
然后求解U
(例如U(n) = O(n^log3(2))
)然后您应该能够找到同一订单的T
的渐近表达式。