This tool is used to track the values of variables step-by-step in an algorithm.
Trace table
This programming technique involves a method calling itself.
Recursion
This data structure stores multiple elements of the same type using one variable name.
Array
This acronym describes the order of operations in a stack, where the last element added is the first to be removed.
LIFO (Last in First out)
This is the top node of a tree from which all other nodes descend.
Root
In a trace table, each row usually represents this part of the algorithm.
Step or iteration
Recursion is often considered an alternative to this control structure.
Iteration
A two-dimensional array is commonly visualized as this.
Table or matrix (rows and columns)
This stack operation involves removing and returning the top element from the stack.
Pop
These nodes effectively have no children and are found at the bottom of the tree hierarchy.
Leaf Nodes
Name two main purposes of using a trace table.
Debugging and verifying correctness (also acceptable: understanding how an algorithm works)
Recursion works by breaking a problem into these smaller parts.
Smaller instances of the original problem
In a 2D array element [i, j], ‘i’ represents this and ‘j’ represents this.
Row index and column index
Unlike a stack, a queue follows this principle, often compared to a line of people or cars.
FIFO (First in First out)
In a binary tree diagram, this line connects a parent node to a child node.
Edge
In a trace table, columns are usually labeled with these.
Variables (or changing values)
This condition tells a recursive function when to stop calling itself.
Base case
This technique is commonly used to traverse a 2D array.
Nested loops
This operation allows you to return the top element of a stack without removing it.
Peek (or Top)
This term refers to the vertical distance or number of levels in a tree structure.
Height of the tree
You are given an algorithm and asked to determine what it does by filling in a trace table. This skill is known as…
Tracing an algorithm
When tracing a recursive algorithm, this structure keeps track of each function call.
Call stack
Although arrays are static, they can be used to implement these two dynamic data structures.
Stacks and queues
While stacks and queues are dynamic concepts, they are often statically implemented using this fixed-size data structure.
Array
A tree is considered this type of data structure, as opposed to linear structures like arrays or linked lists.
Non-linear data structure