🎓 Computer Science & Engineering Portal

Master Engineering Disciplines with Structured Notes

Comprehensive academic lecture notes, exam-oriented unit summaries, laboratory manuals, and previous year question papers designed strictly for university students.

📑

University Syllabi

AKTU & AICTE aligned semester guidelines.

📝

Exam Question Papers

Previous 5 years solved university papers.

💡

Lab Manuals & Viva

Practical codes with outputs & interview Qs.

Core Subjects & Units Hub

Click on any specific unit to immediately view its lecture notes below

Viewing All Lectures

Master Theorem

Master Theorem-

Master’s Theorem is a popular method for solving the recurrence relations.

Master’s theorem solves recurrence relations of the form- 

Here, a >= 1, b > 1, k >= 0 and p is a real number.

 

Master Theorem Cases- 

To solve recurrence relations using Master’s theorem, we compare a with bk.

Then, we follow the following cases- 

Case-01: 

If a > bk, then T(n) = θ (nlogba) 

Case-02: 

If a = bk and

  • If p < -1, then T(n) = θ (nlogba)
  • If p = -1, then T(n) = θ (nlogba.log2n)
  • If p > -1, then T(n) = θ (nlogba.logp+1n)
Case-03: 

If a < bk and

  • If p < 0, then T(n) = O (nk)
  • If p >= 0, then T(n) = θ (nklogpn)

 

PRACTICE PROBLEMS BASED ON MASTER THEOREM-

 

Problem-01: 

Solve the following recurrence relation using Master’s theorem-

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

Solution- 

We compare the given recurrence relation with T(n) = aT(n/b) + θ (nklogpn).

Then, we have-

a = 3

b = 2

k = 2

p = 0

Now, a = 3 and bk = 22 = 4.

Clearly, a < bk.

So, we follow case-03. 

Since p = 0, so we have-

T(n) = θ (nklogpn)

T(n) = θ (n2log0n) 

Thus,

T(n) = θ (n2)

 

Problem-02: 

Solve the following recurrence relation using Master’s theorem-

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

Solution- 

We compare the given recurrence relation with T(n) = aT(n/b) + θ (nklogpn).

Then, we have-

a = 2

b = 2

k = 1

p = 1 

Now, a = 2 and bk = 21 = 2.

Clearly, a = bk.

So, we follow case-02. 

Since p = 1, so we have-

T(n) = θ (nlogba.logp+1n)

T(n) = θ (nlog22.log1+1n) 

Thus,

T(n) = θ (nlog2n)

 

Problem-03: 

Solve the following recurrence relation using Master’s theorem-

T(n) = 2T(n/4) + n0.51 

Solution- 

We compare the given recurrence relation with T(n) = aT(n/b) + θ (nklogpn).

Then, we have-

a = 2

b = 4

k = 0.51

p = 0 

Now, a = 2 and bk = 40.51 = 2.0279.

Clearly, a < bk.

So, we follow case-03. 

Since p = 0, so we have-

T(n) = θ (nklogpn)

T(n) = θ (n0.51log0n) 

Thus,

T(n) = θ (n0.51)

 

Problem-04: 

Solve the following recurrence relation using Master’s theorem-

T(n) = √2T(n/2) + logn 

Solution- 

We compare the given recurrence relation with T(n) = aT(n/b) + θ (nklogpn).

Then, we have-

a = √2

b = 2

k = 0

p = 1 

Now, a = √2 = 1.414 and bk = 20 = 1.

Clearly, a > bk.

So, we follow case-01. 

So, we have-

T(n) = θ (nlogba)

T(n) = θ (nlog2√2)

T(n) = θ (n1/2) 

Thus,

T(n) = θ (√n)

 

Problem-05: 

Solve the following recurrence relation using Master’s theorem-

T(n) = 8T(n/4) – n2logn 

Solution- 

  • The given recurrence relation does not correspond to the general form of Master’s theorem.
  • So, it can not be solved using Master’s theorem. 

Problem-06: 

Solve the following recurrence relation using Master’s theorem-

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

Solution- 

  • We write the given recurrence relation as T(n) = 3T(n/3) + n.
  • This is because in the general form, we have θ for function f(n) which hides constants in it.
  • Now, we can easily apply Master’s theorem.

 

We compare the given recurrence relation with T(n) = aT(n/b) + θ (nklogpn).

Then, we have-

a = 3

b = 3

k = 1

p = 0

Now, a = 3 and bk = 31 = 3.

Clearly, a = bk.

So, we follow case-02. 

Since p = 0, so we have-

T(n) = θ (nlogba.logp+1n)

T(n) = θ (nlog33.log0+1n)

T(n) = θ (n1.log1n) 

Thus,

T(n) = θ (nlogn)

 

Problem-07: 

Form a recurrence relation for the following code and solve it using Master’s theorem- 

A(n)

{

    if(n<=1)

    return 1;

    else

    return A(√n);

}

 Solution- 

  • We write a recurrence relation for the given code as T(n) = T(√n) + 1.
  • Here 1 = Constant time taken for comparing and returning the value.
  • We can not directly apply Master’s Theorem on this recurrence relation.
  • This is because it does not correspond to the general form of Master’s theorem.
  • However, we can modify and bring it in the general form to apply Master’s theorem. 

Let-

n = 2m ……(1)

Then-

T(2m) = T(2m/2) + 1 

Now, let T(2m) = S(m), then T(2m/2) = S(m/2) 

So, we have-

S(m) = S(m/2) +1

Now, we can easily apply Master’s Theorem. 

We compare the given recurrence relation with S(m) = aS(m/b) + θ (mklogpm).

Then, we have-

a = 1

b = 2

k = 0

p = 0 

Now, a = 1 and bk = 20 = 1.

Clearly, a = bk.

So, we follow case-02. 

Since p = 0, so we have-

S(m) = θ (mlogba.logp+1m)

S(m) = θ (mlog21.log0+1m)

S(m) = θ (m0.log1m) 

Thus,

S(m) = θ(logm) ……(2) 

Now,

  • From (1), we have n = 2m.
  • So, logn = mlog2 which implies m = log2n. 

Substituting in (2), we get-

S(m) = θ(loglog2n)

Or

T(n) = θ (loglog2n)

Labels: ,

Discussion & Queries (<$I18NNumComments$>):

<$CommentPager$>
<$I18NAtCommentTimeWithPermalink$>, <$I18NCommentAuthorSaid$>

<$BlogCommentBody$>

<$BlogCommentDeleteIcon$>
<$CommentPager$>