Algorithm 上下限

Algorithm 上下限,algorithm,recurrence,Algorithm,Recurrence,我有以下递归关系: T(n) = 2T(n/3) +5(n/6) + n 并且不能很好地计算出正确的上下限。 对于上限,我做了: T(n) = 2T(n/3) +5T(n/3) +n = 7T(n/6) +n 根据主定理,应该是:nlog67 对于下限,我做了: T(n) = 2T(n/3) +5T(n/3) +n = 7T(n/3) +n 根据主定理,应该是:nlog37 然而,当解决这个问题时,我只得到了“有更好的边界”的部分分数 我做错了什么 T(n)=2*T(n/3)+5*T(n/

我有以下递归关系:

T(n) = 2T(n/3) +5(n/6) + n
并且不能很好地计算出正确的上下限。
对于上限,我做了:

T(n) = 2T(n/3) +5T(n/3) +n = 7T(n/6) +n
根据主定理,应该是:nlog67

对于下限,我做了:

T(n) = 2T(n/3) +5T(n/3) +n = 7T(n/3) +n
根据主定理,应该是:nlog37

然而,当解决这个问题时,我只得到了“有更好的边界”的部分分数
我做错了什么

T(n)=2*T(n/3)+5*T(n/6)+n

Let
T(n)=c*n^k+o(n^k)

Then
c*n^k+o(n^k)=2*c*(n/3)^k+o((n/3)^k)+5*c*(n/6)^k+o((n/6)^k)+n  

c/6^k*(6^k-2^(k+1)-5)=o(n^k)

k=1.27635...
所以,T(n)≃ c*n1.27635


T(n)∈ Θ(n1.27635)

我不明白。我不知道这个公式。你能解释一下你在这里做了什么吗?解是上界还是下界?@atlanteh-两个界。刚才添加了Theta-notation.thx作为答案,但我不理解公式本身,你是如何将t(n)改为c*n^k+o(n^k)的?最后一个阶段:c/6^k*(6^k-2^(k+1)-5)=o(n^k)。太多了@亚特兰蒂斯-对不起,这是我关于T(n)=c*n^k+o()的错误假设。也可能存在对数因子。短期解决方案失败。但存在长解-在RHS中多次替换T(n)并估计其界。因此,开始将T(n/3)重写为2T(n/9)+5T(n/18)+n/3,以此类推。