# Recursion

From GPWiki

The term **recursion** in programming may refer to the effect of any procedure that calls itself within its own definition i.e. a *recursive algorithm.* Effectively, a recursive algorithm may be considered a natural *loop* in the sense that it independently re-executes to an uncertain order by literally referring to itself. For instance, recursion may be employed as a natural method to enumerate hierarchical populations of data such as a bone hierarchy used in the practice of dynamic animation.

For example, a C function to compute partial sums of the Fibonacci series may be implemented by literally defining a function that refers to itself, which explicitly exhibits the *recurrence relation*:

unsigned int FibonacciRecursive(unsigned int partialSumIndex) { if (partialSumIndex > 1) { return FibonacciRecursive(partialSumIndex-1) + FibonacciRecursive(partialSumIndex-2); } return 1; }

This article is a stub. You can help out by expanding it. |