Recurrence relations are a mathematical sequence describing how a recurring algorithm divides/decreases the work done. Conventionally, is used to denote the work done for input size .

There are 2 ways to solve general recurrence relations to obtain a closed-form formula:

Smoothness Rule

#todo FIND A REFERENCE!!

Iteration

Iteration involves by building the relation from the bottom-up, by substituting small values of n.

For example:

Solving a simple arithmetic recurrence relation

Solve the following recurrence relation:

By using iteration, we have:

Solving with a recurrence relation with triangular numbers

Solve the following recurrence relation:

With iteration we have: This has a closed-form solution given by the triangular numbers

A linear combination recurrence relation (?)

Solve the following recurrence relation:

With iteration, we have: This is a geometric series, whose closed form formula is given by:

Telescoping

Telescoping involves rearranging the equation and cancelling out terms

For example:  


In Computer Science

Most recurrence relations that use divide-and-conquer as a design pattern can be solved with the Master Theorem.