Research any topic before you write.

Find related topics. | Discover entities. | See connections. | Build a topical map.

Recursion (computer science)

In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances of the same problem. Recursion solves such recursive problems by using functions that call themselves from within their own code. The approach can be applied to many types of problems, and recursion is one of the…

History & Science

Use the mouse wheel or two fingers (on touchscreens) to zoom in and out of the map.

Research this topic

Explore the main themes, entities and connections around Recursion (computer science). Start with the topic map, then use the sections below for research and deeper semantic analysis.

Explore this topic

Start with a few of the strongest sections from the source topic. These are research directions, not a list of keywords you must use.

Topics to explore

Browse the full topic structure. Each item opens a new analysis centered on that subject.

Overview

History

Structure of a recursive function

Recursive data types

Types of recursion

Implementation issues

Recursion versus iteration

Tail-recursive functions

Recursive procedures

Recursive data structures (structural recursion)

Time-efficiency of recursive algorithms

Recursion in Logic Programming

Infinite recursion

Advanced semantic analysis

Deeper signals for content research, entity SEO and topical coverage. The plain-language headings explain what each technical view is useful for.

Map overview Semantic statistics

Recursion (computer science)

Nodes165
Edges164
Triples15
Avg. degree1.99
Density0.012121
Components1

How this topic connects Entity context

See the strongest relationship patterns around the current topic before diving into the raw triples.

Important terminology Word statistics

Use these terms to understand the vocabulary surrounding the topic, not as a checklist for keyword stuffing.

Important terminology

recursion recursive function case base data stack call functions may used example calls languages algorithms programming one algorithm definition infinite

Entity relationships Subject–Predicate–Object triples

SubjectPredicateObjectConfidenceSrc
tail call optimization may improve computational performance over a naive recursive implementationinstance ofalgorithmic or compiler-optimization techniques0.80text
John McCarthyinstance ofKey figures0.80text
the ALGOL 60 design committee contributed to introducing recursion into programming.John McCarthy took the first steps by creating the programming language LISP in 1960instance ofKey figures0.80text
Backusinstance ofLanguage designers often express grammars in a syntax0.80text
factorial may also be regarded as structural recursion.Generative recursion is the alternativeinstance offunctions0.80text
while loopsinstance ofiterative control constructs0.80text
for loops are routinely rewritten in recursive form in functional languagesinstance ofiterative control constructs0.80text
Quicksortinstance ofOther examples include divide-and-conquer algorithms0.80text
and functions such as the Ackermann functioninstance ofOther examples include divide-and-conquer algorithms0.80text
collecting testsinstance ofhave been developed to avoid the drawbacks of recursion and have improved only gradually based on techniques0.80text
profiling performanceinstance ofhave been developed to avoid the drawbacks of recursion and have improved only gradually based on techniques0.80text
gcd will execute using constant spaceinstance ofa tail-recursive function0.80text

Related concept clusters Concept neighborhoods

These clusters group vocabulary that occurs around closely connected concepts in the source material.

    Connections between topic areas Semantic bridges

    Bridges can reveal useful research angles that are easy to miss in a flat list of related terms.

    Min side: 3
    For writers, content strategists, SEOs, marketers and creators — from quick topic research to advanced semantic analysis.