Algorithm 应用Master';f(n)=2^n的s定理

Algorithm 应用Master';f(n)=2^n的s定理,algorithm,Algorithm,我试图将Master定理应用于这种类型的递归: T(n)=T(n/2)+2^n 然而,f(n)=2^n似乎不适合master定理中描述的三种情况中的任何一种,它们似乎都以n为底,而不是以2为底。我如何解决这种类型的重复出现,有人能帮忙吗?谢谢。如果该定理的任何一种情况都不适用,那么该定理将无法解决您的递归问题。它不可能解决所有的复发问题 为了解决您的问题:通过重复替换递归案例得到的结果是T(n)=2^n+2^(n/2)+2^(n/4)+……+2,由于log n有许多项需要加起来,所以最终的结果

我试图将Master定理应用于这种类型的递归:

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


然而,f(n)=2^n似乎不适合master定理中描述的三种情况中的任何一种,它们似乎都以n为底,而不是以2为底。我如何解决这种类型的重复出现,有人能帮忙吗?谢谢。

如果该定理的任何一种情况都不适用,那么该定理将无法解决您的递归问题。它不可能解决所有的复发问题



为了解决您的问题:通过重复替换递归案例得到的结果是T(n)=2^n+2^(n/2)+2^(n/4)+……+2,由于log n有许多项需要加起来,所以最终的结果是2^(n+1)以下,所以总的来说,你是在Θ(2^n)中。

我们可以从两边取log,然后求解。它将落在Master定理的案例3中。

但2^n不代表方程的非递归部分吗?是的。这意味着第一个递归将支配所有其他递归,这会发生。请记住,因子、常数和低阶项在大O表示法中被省略。这对于应用如此简单的master定理是无效的。尝试以下ANSWR中的替代方法,或尝试递归树方法。并且请始终提供具有递归关系的终止条件。@如果递归情况仅线性出现,则CARBON终止条件是不相关的,我认为。@G.Bach但这里不是线性情况。@CARBON递归部分是“T(n/2)”,这是线性的。@G.Bach可能是,我不明白你的意思,但就递归而言,它的对数不是线性的。