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.