What is Recursion?


Introduction and Summary

Recursion is a powerful algorithmic technique in which a function calls itself (either directly or indirectly) on a smaller problem of the same type in order to simplify the problem to a solvable state.

Every recursive function must have at least two cases: the recursive case and the base case. The base case is a small problem that we know how to solve and is the case that causes the recursion to end. The recursive case is the more general case of the problem we're trying to solve. As an example, with the factorial function n! , the recursive case is n! = n*(n - 1)! and the base case is n = 1 when n = = 0 or n = = 1 .

Recursive techniques can often present simple and elegant solutions to problems. However, they are not always the most efficient. Recursive functions often use a good deal of memory and stack space during their operation. The stack space is the memory set aside for a program to use to keep track of all of the functions and their local states currently in the middle of execution. Because they are easy to implement but relatively inefficient, recursive solutions are often best used in cases where development time is a significant concern.

There are many different kinds of recursion, such as linear, tail, binary, nested, and mutual. All of these will be examined.

Take a Study Break

Green YOUR SCHOOL!

Click here to get involved with dosomething.org!

John Krasinski's BIG MIRACLE

Click to watch the trailer and read exclusive star interviews!

Do you like Anna?

Read Dear Albert... from ANNA's perspective!

BATTLESHIP, the movie

Here's why we're super jazzed about it.

Do energy juices actually work?

Our blogger puts 'em to the test!


The Book

Cover image

Read What You Love, Anywhere You Like

Get Our FREE NOOK Reading Apps