time complexity of relation T(n) = T(n-1) + T(n/2) + n

ε祈祈猫儿з 提交于 2019-12-10 12:59:16

问题


for the relation

T(n) = T(n-1) + T(n/2) + n

can I first solve the term (T(n-1) + n) which gives O(n^2), then solve the term T(n/2) + O(n^2) ?

according to the master theorem which also gives O(n ^ 2) or it is wrong?


回答1:


No, you cannot solve it using Mater-theorem.

You need to solve it using Akra–Bazzi method, a cleaner generalization of the well-known master theorem.

  1. Master-theorem assumes that the sub-problems have equal size.

  2. The master theorem concerns recurrence relations of the form

T(n) = a T(n/b) + f(n) , where a>=1, b>1.


I am not deriving here the steps for the solution so that you work out on it. If you have further problem while solving the same, please comment below. Good luck...




回答2:


I don't think your approach is correct in the general case. When you throw away the T(n/2) term to calculate the complexity of the T(n-1) term you end up underestimating the size of the T(n-1) term.

For a concrete counterexample:

 T(n) = T(n-1) + T(n-2) + 1

Your technique is also going to come up with T(n) = O(n^2) for this but the real complexity is exponential.



来源:https://stackoverflow.com/questions/30402313/time-complexity-of-relation-tn-tn-1-tn-2-n

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!