A recurrence relation is an equation in which a function is defined in terms of itself.
The Fibonacci numbers are described by the recurrence relation
with the initial values and .
Any polynomial can be represented by a recurrence, such as the linear function:
Any exponential can be represented by a recurrence:
Functions that cannot be easily described using conventional notation can be represented naturally using recurrences, such as:
The self-reference property of recurrence relations is shared with recursive programs or algorithms, as the shared roots of both terms reflect. Essentially, recurrence relations provide a way to analyze recursive structures, such as algorithms. Many divide-and-conquer algorithms have time complexities that are naturally modeled by recurrence relations. The ability to solve such recurrences is important to understanding when divide-and-conquer algorithms perform well, and provides an important tool for analysis in general.