Glossary

B

Base Case

Criticality: 3

The condition within a recursive method that stops the recursion, preventing an infinite loop and providing a direct, non-recursive solution for the smallest subproblem.

Example:

In a recursive method to calculate the sum of numbers from 1 to n, the base case would be when n is 0, returning 0 directly without further calls.

C

Call Stack

Criticality: 2

A data structure that stores information about the active subroutines of a computer program, including the state and local variables of each recursive call, managing their execution order.

Example:

When tracing a deep recursive function, visualizing the call stack helps understand how each function call is added and removed, and how return values propagate back up.

I

Iteration

Criticality: 2

A programming approach that uses loops (like `for` or `while`) to repeatedly execute a block of code until a condition is met, as an alternative to recursion.

Example:

Calculating the sum of elements in an array using a for loop is a common example of iteration, performing a task repeatedly without self-calling methods.

R

Recursion

Criticality: 3

A programming technique where a method solves a problem by calling itself repeatedly with smaller subproblems until a base case is reached.

Example:

Calculating the factorial of a number, like 5!, can be elegantly solved using recursion, where 5! is defined as 5 * 4!, and so on, until 1! is reached.

Recursive Algorithms

Criticality: 2

Algorithms designed to solve problems by breaking them down into smaller instances of the same problem, often implemented using recursive methods.

Example:

Quicksort and Mergesort are classic examples of efficient recursive algorithms used for sorting large datasets by dividing them into smaller, sortable parts.

Recursive Call

Criticality: 3

The statement within a recursive method where the method invokes itself, typically with modified parameters to move closer to the base case.

Example:

In a fibonacci(n) method, the line return fibonacci(n - 1) + fibonacci(n - 2); contains the recursive call that drives the sequence generation.

Recursive Method

Criticality: 3

A method that calls itself directly or indirectly to solve a problem, breaking it down into smaller, similar subproblems.

Example:

A countdown recursive method might print a number and then call itself with number - 1 until it reaches zero, demonstrating a self-referential process.