LearnViz CompSci
Home / Learn / Algorithms / Master Theorem

Intermediate Topic 23 of 51 Algorithms

Master Theorem

Formula solving recurrences of divide-and-conquer algorithms.

How it works

The master theorem solves recurrences of the form T(n) = a T(n/b) + f(n), where a subproblems of size n/b are solved and f(n) is the cost of dividing and combining. Comparing f(n) with n to the log base b of a gives three cases: leaves dominate, work is balanced across levels, or the root dominates. This yields the asymptotic bound without expanding the recursion by hand.

Where it is used

Analyzing merge sort at Theta(n log n), binary search at Theta(log n), Karatsuba multiplication and Strassen's algorithm uses the master theorem.

Common pitfall

It does not apply when subproblems have unequal sizes, when a is not constant or when f(n) falls in the gaps between cases, for example with log factors without regularity. Misidentifying a, b or f(n) gives wrong bounds. Use the Akra-Bazzi method or a recursion tree for irregular recurrences.

Where it fits in the course

Master Theorem is topic 23 of 51 in Algorithms, rated Intermediate. It follows Divide and Conquer. The next topic is Greedy Algorithms.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Algorithms quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Master Theorem?
Formula solving recurrences of divide-and-conquer algorithms. It belongs to Algorithms and is an intermediate-level topic.
Where do people use Master Theorem?
Analyzing merge sort at Theta(n log n), binary search at Theta(log n), Karatsuba multiplication and Strassen's algorithm uses the master theorem.
What is the most common mistake with Master Theorem?
It does not apply when subproblems have unequal sizes, when a is not constant or when f(n) falls in the gaps between cases, for example with log factors without regularity.
What should I learn before this topic?
Start with Divide and Conquer, the topic just before it in Algorithms.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Algorithms quiz. You can also explore Growth Rates (Big-O) in the Visual Lab.
Is Master Theorem hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Master Theorem?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Master Theorem?
Divide and Conquer, Greedy Algorithms, Timsort are closely connected. The full list is in the related topics section of this page.
What should I study after Master Theorem?
Continue with Greedy Algorithms, the next topic in Algorithms.

Related topics