两个递归调用来解决递归关系

时间:2020-09-15 14:19:59

标签: algorithm

我不知道哪种方法最适合解决此重复,因为它有两个递归调用。

表明严格解决复发问题

T(n)= T(n / 3)+ T(2n / 3)+ n 2

是T(n)=Θ(n 2

(使用任何所需的方法)。

通常,如何确定递归关系的渐近性?

1 个答案:

答案 0 :(得分:0)

可以通过递归树解决此重复的最佳方法之一。 您可以制作看起来像如下的递归树。

enter image description here 以此类推。 递归树中最浅的分支是最左侧的分支。它的长度是log3n。 递归树的最深分支是最右边的分支,其深度为log3 / 2n。 在树的每个级别上,子问题的总大小最多为n。 在2级时,总和为n / 3 + 2n / 3 = n,在3级时,总和为n / 9 + 2n / 9 + 2n / 9 + 4n / 9 = n。 T(n)中的加性项为n ^ 2,因此T(n)> = nlog(n),因此T(n)= theta(n ^ 2)。 希望你得到这个。

相关问题