(data structure)

**Definition:**
(1) A data structure that is partially composed of other instances of the data structure. For instance, a *tree* is composed of smaller trees (*subtrees*) and *leaf* *nodes*, and a *list* may have other lists as elements. (2) An *algorithm* in which functions might call themselves. For instance, *quicksort* or *heapify*.

**See also**
*recursion*.

*Note:
Infinite data structures may be represented by having a tree include (point back to) itself recursively, a list include itself, etc. Recursive data structures are often best handled with a recursive algorithm, or an algorithm using recursion.*

Author: PEB

See the entry at recursion for links, explanations, exercises, cross references, etc.

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul Black.

Entry modified 17 December 2004.

HTML page formatted Wed Mar 13 12:42:46 2019.

Cite this as:

Paul E. Black, "recursive", in
*Dictionary of Algorithms and Data Structures* [online], Paul E. Black, ed. 17 December 2004. (accessed TODAY)
Available from: https://www.nist.gov/dads/HTML/recursive.html