📜  DAA主方法

📅  最后修改于: 2020-12-10 06:16:56             🧑  作者: Mango

主法

主方法用于解决以下类型的重复

T(n)= a T DAA主方法 + f(n)为a≥1和b≥1为常数&f(n)为函数, DAA主方法可以解释为

通过递归在非负整数上定义T(n)。

在递归算法分析的函数中,常量和函数具有以下含义:

  • n是问题的大小。
  • a是递归中子问题的数量。
  • n / b是每个子问题的大小。 (这里假定所有子问题的大小基本相同。)
  • f(n)是递归调用之外完成的工作的总和,其中包括问题的总和与子问题的解决方案的总和。
  • 不可能总是根据需求对函数进行绑定,因此我们通过三种情况来告诉我们可以对函数应用哪种绑定。

大师定理:

在以下三种情况下,有可能完成渐近紧约束:

情况1:如果f(n)= DAA主方法对于某个常数ε> 0,则得出:

例:

解:

Compare T (n) = 8 T DAA Master Method with 
 T (n) = a T DAA Master Method
 a = 8, b=2, f (n) = 1000 n2, logba = log28 = 3
 Put all the values in: f (n) = DAA Master Method
     1000 n2 = O (n3-ε ) 
     If we choose ε=1, we get: 1000 n2 = O (n3-1) = O (n2)

由于该方程成立,因此主定理的第一种情况适用于给定的递归关系,因此得出以下结论:

T (n) = Θ DAA Master Method
   Therefore: T (n) = Θ (n3) 

情况2:如果为true,则对于某个常数k≥0,它:

例:

情况3:如果为真,则f(n)=Ω DAA主方法对于某些常数ε> 0,也适用于: DAA主方法对于某个常数c <1对于较大的n,则:

T (n) = Θ((f (n)) 

示例:解决递归关系:

解: