Arrays
Linked List
Trees
Binary Trees
Maps & Sets
Stacks and Queues
Recursion
100

The term for accessing elements in an array by their position, which ranges from 0 to the length of the array minus one.

indexing / index / i

100

These objects make up the links in a linked list, consisting of a value containing the item itself, and a next property pointing to either another node or an empty value.

nodes

100

This term refers to the topmost node of a tree data structure, which serves as the unique entry point for accessing the tree.

Root

100

These terms refer to the children of a node in a binary tree connected to the parent node.

Left and Right

100

This data structure stores a collection of key-value pairs, allowing for efficient retrieval, insertion, and deletion of values based on their corresponding keys.

Map

100

This linear data structure follows the Last In, First Out (LIFO) principle, and is commonly used in depth-first search algorithms and function call execution.

Stack

100

This programming technique involves a function calling itself to solve a problem by breaking itdown into smaller instances of the same problem.

Recursion

200

This property of arrays determines the maximum number of elements they can contain and is used to prevent accessing indices beyond its value.

Length

200

This operation on a LinkedList creates a new node with the current head as its next, and updates the head to point at the newly created node.

Insert (front)

200

In a tree data structure, these nodes are directly connected to a parent node and can have zero or more of them.

Children
200

In this depth-first traversal, the nodes of a binary tree are visited in the order of root, left subtree, and right subtree.

Pre-Order Traversal

200

This data structure represents a collection of distinct elements without any specific order or duplicates, often used to store unique elements or perform operations on collections of items.

Set

200

This operation is used to add an element to the top of the stack.

Push

200

For $200, this is the simplest form of a problem that can be solved directly without further recursion, serving as the stopping condition for a recursive function.

Base Case

300

This process involves looking at every item in an array a single time, and can be achieved using a for loop or a for each loop in most programming languages.

Traversal

300

This operation in a linked list creates a new node from a current node, with the new node's next being the current node's next, and the current node's next being updated to the new node.

Insert (middle)

300

This term describes the length of the longest path from the root node to a leaf node in a tree.

Height

300

In this depth-first traversal, the nodes of a binary tree are visited in the order of left subtree, right subtree, and root.

Post-Order Traversal

300

These operations are used to add a new key-value pair to a map or insert a new element into a set, ensuring uniqueness in the latter case.

Add / Put / Insert

300

This operation is used to remove the top element from the stack.

Pop

300

In this part of a recursive function, the function calls itself with a modified input, usually a smaller or simpler version of the original problem, to break the problem down into smaller instances.

Recursive Case

400

In this fundamental array operation, a new array is created by applying a specific function to every item in the source array.

map

400

This operation on a LinkedList creates a new node at the end of the list, updating the tail node and tail to point to the newly created node, or setting the head and tail to the new node if the list was empty.

Append (end)

400

These nodes in a tree data structure do not have any children and represent the endpoints of the tree structure.

Leaves or Leaf Nodes

400

In this depth-first traversal, the nodes of a binary tree are visited in the order of left subtree, root, and right subtree, resulting in a sorted order for binary search trees.

In-Order Traversal

400

In the context of a map, this operation is used to retrieve the value associated with a specific key.

Get

400

This linear data structure follows the First In, First Out (FIFO) principle, and is commonly used in breadth-first search algorithms and managing processes in operating systems.

Queue

400

For $400, this term refers to the algorithm or set of rules that a recursive function follows to combine results from recursive calls and ultimately produce the final solution to the problem.

Function Logic / Logic

500

This fundamental array operation creates a new array by applying a conditional function to every item in the source array and only including those items for which the function returns true.

filter

500

This operation in a LinkedList involves pointing the prior node to the deleted node's next, requiring updating the Linked List's head or tail if necessary.

remove

500

This type of traversal visits the nodes of a binary tree level by level, from left to right.

Breadth First Traversal

500

This type of binary tree is ordered, with the value of each node being greater than or equal to the values in its left subtree and less than or equal to the values in its right subtree.

Binary Search Tree

500

This operation checks if a given key is present in a map or if an element is a member of a set, returning a boolean value.

Has

500

This operation is used to add an element to the end of the queue.

Enqueue

500

This special form of recursion occurs when the recursive call is the last operation performed by the function, allowing compilers or interpreters to optimize it and reduce stack space usage.

Tail Recursion

600
This fundamental array operation creates a single value by combining every item in the source array using a function that takes a previous state and current value argument.

reduce

600

This process in a LinkedList involves looking at all items in the list, typically using a while loop and a current node, starting at the head and advancing through the next property until reaching the empty node past the end of the list.

Traversal

600

This property of a binary tree ensures that the height of the left and right subtrees of every node differs by at most one.

Balanced Tree

600

This type of binary ensuries optimal performance for search, insertion, and deletion operations.

Balanced Binary Tree

600

This technique is used to convert a given key or element into a fixed-size integer for determining the position of the key-value pair in a map or the element in a set.

Hashing

600

This operation is used to remove the front element from the queue.

Dequeue

600

For $600, this auxiliary function is used to facilitate recursion, often by adding extra parameters, managing additional state, or encapsulating specific functionality related to the recursive process.

Recursive Helper / Helper Function

M
e
n
u