Skip to content
Related Articles

Related Articles

Improve Article

Akra-Bazzi method for finding the time complexities

  • Last Updated : 30 Jul, 2021
Geek Week

Master’s theorem is a popular method to solve time complexity recurrences of the form:

T(n) = aT(\frac{n}{b}) + f(n)

With constraints over a, b and f(n). The recurrence relation form limits the usability of the Master’s theorem. Following are three recurrences that cannot be solved directly using master’s theorem:

  1. \large{T(n) = 3T(\frac{n}{5}) + 2T(\frac{n}{5}) + \theta(n)}
  2. \large{T(n) = \frac{1}{3}T(\frac{n}{3}) + \theta(\frac{1}{n})}
  3. \large{T(n) = 9T(\frac{n}{3}+\log n) + \theta(n)}

Akra-Bazzi Method: This article explores another method for solving such recurrences that were developed by Mohammad Akra and Louay Bazzi in 1998. The Akra-Bazzi method can be applied to the recurrences of the following form: 

T(n)=\sum_{i=1}^{k} a_{i} T(b_{i}n+h_{i}(n))+g(n)

 where,  a_{i}    and b_{i}    are constants such that:

  1. \ a_{i}>0
  2. \ 0<b_{i}<1 \textnormal{ i.e. in the range (0, 1)}
  3. \ g(n)\ \epsilon\ O(n^{c}) \textnormal{ i.e. }g(n) \textnormal{ must have a polynomial upperbound}
  4. \ h_{i}(x)\ \epsilon\ O(\large\frac{n}{(logn)^{2}}\normalsize)

Next, find p such that

\large{\sum_{i=1}^k a_ib_i^p=1}


\large{T(n)\epsilon\ \theta(n^{p}(1+\int_{1}^{n}\frac{g(u)}{u^{p+1}}du))}

Let’s consider the three recurrences discussed above and solve them using the method:

Example 1. 

 \large{T(n) = 3T(\frac{n}{5}) + 2T(\frac{n}{5}) + \theta(n)}


  1. a1 = 3
  2. b1 \large \frac{1}{5}
  3. a2 = 2
  4. b2 \large \frac{1}{5}
  5. b1 and b2 are in the range (0, 1)
  6. g(n) = \theta(n) which is O(nc), here c can be 1.

In this problem h1(n) and h2(n) are not present.
Here p=1 satisfies

3*\large {\frac{1}{5}^p}\normalsize +2*\large {\frac{1}{5}^p}\normalsize=1.


=> n^{1}(1+\int_{1}^{n}\large\frac{u}{u^{1+1}}\normalsize du)

=> n(1+\log{n}-\log{1})



Example 2.  

\large{T(n) = \frac{1}{3}T(\frac{n}{3}) + \theta(\frac{1}{n^{2}})}


  1. a = \large \frac{1}{3}
  2. b = \large \frac{1}{3}
  3. g(n) = \theta(n^2)
  4. b is in the range (0, 1)
  5. g(n) = \theta(n^2) which is in O(nc), here c can be 1.

In this problem h(n) is not present.
Here p= – 1 satisfies



=> n^{-1}(1+\int_{1}^{n}\large\frac{\frac{1}{u}}{u^{-1+1}}\normalsize du)

=> \large\frac{1}{n}\normalsize(1+\int_{1}^{n}\large\frac{1}{u}\normalsize du)

=> \large\frac{1}{n}\normalsize(1+[\log u]_{1}^{n})

=> \large\frac{1}{n}\normalsize(1+\log n)

=> \theta(\large\frac{\log n}{n}\normalsize)

Example 3.

 \large{T(n) = 9T(\frac{n}{3}+\log n) + \theta(n)}


  1. a = 9
  2. b = \large\frac{1}{3}
  3. g(n) = \theta(n)\theta(n)
  4. b is in the range(0, 1)
  5. g(n) =  \theta(n)    which is O(nc), here c can be 1.
  6. h(n) =  \log{n}    which is O(\large\frac{n}{(logn)^{2}}\normalsize)

Here p=2 satisfies 



=> n^{2}(1+\int_{1}^{n}\large\frac{u}{u^{2+1}}\normalsize du)

=> n^{2}(1+\int_{1}^{n}\large\frac{1}{u^{2}}\normalsize du)

=> n^{2}(1+[-\large\frac{1}{u}\normalsize]_{1}^{n})

=> n^{2}(2-\large\frac{1}{n}\normalsize)

=> 2n^{2}-n

=> \theta(n^{2})


  • Works for many divides and conquer algorithms.
  • Has a lesser constraint over the format of the recurrence than Master’s Theorem.
  • p can be calculated using numerical methods for complex recurrence relations.


  • Does not work when the growth of g(n) is not bounded polynomial. For Example g(N) = 2N.
  • Does not deal with ceil and floor functions.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up
Recommended Articles
Page :