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
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
This term refers to the topmost node of a tree data structure, which serves as the unique entry point for accessing the tree.
Root
These terms refer to the children of a node in a binary tree connected to the parent node.
Left and Right
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
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
This programming technique involves a function calling itself to solve a problem by breaking itdown into smaller instances of the same problem.
Recursion
This property of arrays determines the maximum number of elements they can contain and is used to prevent accessing indices beyond its value.
Length
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)
In a tree data structure, these nodes are directly connected to a parent node and can have zero or more of them.
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
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
This operation is used to add an element to the top of the stack.
Push
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
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
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)
This term describes the length of the longest path from the root node to a leaf node in a tree.
Height
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
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
This operation is used to remove the top element from the stack.
Pop
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
In this fundamental array operation, a new array is created by applying a specific function to every item in the source array.
map
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)
These nodes in a tree data structure do not have any children and represent the endpoints of the tree structure.
Leaves or Leaf Nodes
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
In the context of a map, this operation is used to retrieve the value associated with a specific key.
Get
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
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
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
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
This type of traversal visits the nodes of a binary tree level by level, from left to right.
Breadth First Traversal
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
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
This operation is used to add an element to the end of the queue.
Enqueue
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
reduce
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
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
This type of binary ensuries optimal performance for search, insertion, and deletion operations.
Balanced Binary Tree
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
This operation is used to remove the front element from the queue.
Dequeue
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