1. 程式人生 > >master theorem

master theorem

http media ast nbsp cer edi class oos element

The master theorem concerns recurrence relations of the form:

{\displaystyle T(n)=a\;T\!\left({\frac {n}{b}}\right)+f(n)}技術分享 where {\displaystyle a\in \mathbb {N} {\mbox{, }}1<b\in \mathbb {R} }技術分享

In the application to the analysis of a recursive algorithm, the constants and function take on the following significance:

  • n is the size of the problem.
  • a is the number of subproblems in the recursion.
  • n/b is the size of each subproblem. (Here it is assumed that all subproblems are essentially the same size.)
  • f (n) is the cost of the work done outside the recursive calls, which includes the cost of dividing the problem and the cost of merging the solutions to the subproblems.

It is possible to determine an asymptotic tight bound in these three cases:

Case 1

Generic form

技術分享 where 技術分享 (using big O notation)

then:

技術分享

Example

技術分享

As one can see from the formula above:

技術分享, so
技術分享, where {\displaystyle c=2}技術分享

Next, we see if we satisfy the case 1 condition:

技術分享.

It follows from the first case of the master theorem that

技術分享

(indeed, the exact solution of the recurrence relation is 技術分享, assuming技術分享).

Case 2

Generic form

If it is true, for some constant k ≥ 0, that:

技術分享 where 技術分享

then:

技術分享

Example

技術分享

As we can see in the formula above the variables get the following values:

技術分享
技術分享 where {\displaystyle c=1,k=0}技術分享

Next, we see if we satisfy the case 2 condition:

技術分享, and therefore, {\displaystyle c=\log _{b}a}技術分享

So it follows from the second case of the master theorem:

技術分享

Thus the given recurrence relation T(n) was in Θ(n log n).

(This result is confirmed by the exact solution of the recurrence relation, which is技術分享, assuming 技術分享.)

Case 3

Generic form

If it is true that:

技術分享 where {\displaystyle c>\log _{b}a}技術分享

and if it is also true that:

技術分享 for some constant {\displaystyle k<1}技術分享 and sufficiently large 技術分享 (often called the regularity condition)

then:

技術分享

Example

技術分享

As we can see in the formula above the variables get the following values:

技術分享
技術分享, where {\displaystyle c=2}技術分享

Next, we see if we satisfy the case 3 condition:

技術分享, and therefore, yes, {\displaystyle c>\log _{b}a}技術分享

The regularity condition also holds:

技術分享, choosing技術分享

So it follows from the third case of the master theorem:

技術分享

Thus the given recurrence relation T(n) was in Θ(n2), that complies with the f (n) of the original formula.

(This result is confirmed by the exact solution of the recurrence relation, which is 技術分享, assuming 技術分享.)

from wikipedia

---------------------------------------------------------------------------------------------------------------------------------------------

it means lim(n->Infinity)(f(n)/n^(b lg a)) should 1. ->Infinity && f(n)/n^(b lg a) 2. (f(n)/n^(b lg a)< n^x for x>0.

if 1 but not 2 can‘t use the method. as f(n)/n^(b lg a) = n*lgn/n = lgn.

master theorem