Bubble Sort Comparison
Efficiency Iteration
Swapping In-Place Sorting
Time Complexity Space Complexity

 

The process of checking two items and determining which one is greater or smaller than the other. Algorithm that repeatedly compares adjacent items in a list or array and swaps them until everything is sorted.
The process of repeating a set of instructions until a specific condition is met or a particular outcome is achieved. The speed and effectiveness with which a task is completed, measured in terms of time and resources used.
A sorting algorithm that rearranges the original array without using additional memory. The process of exchanging two items in a list or array.
The amount of memory used by an algorithm as the input size increases. The amount of time it takes to complete a task as the input size increases.

 

Worst-Case Performance Best-Case Performance
Average-Case Performance Optimization
Element Ascending Order
Descending Order Stable Sorting

 

The time or space complexity of an algorithm when it receives the best input possible. The time or space complexity of an algorithm when it receives the worst input possible.
The process of improving the performance of an algorithm by reducing its time or space complexity. The time or space complexity of an algorithm when it receives average inputs.
A sorting order in which the items are arranged from smallest to largest. An individual item in a list or array.
A sorting algorithm that keeps the original order of elements with equal values. A sorting order in which the items are arranged from largest to smallest.

 

Merge Sort Divide And Conquer
Recursive Merge
Stable Sort Comparisons
Swaps Best Case

 

A problem-solving strategy that involves breaking a problem into sub-problems, solving each sub-problem independently, and then combining the solutions to solve the original problem. Algorithm that divides an array into sub-lists, sorts the sub-lists, and then merges them back together in sorted order.
The process of combining two or more sorted sub-arrays into a single sorted array. A function or algorithm that calls itself with a smaller version of the problem until a base case is reached.
The number of times two elements are compared during the sorting process. A sorting algorithm that preserves the relative order of equal elements in the sorted output.
The scenario in which an algorithm takes the least amount of time to solve a given problem. The number of times two elements are swapped during the sorting process.

 

Average Case Worst Case
Big-O Notation In-Place Merge Sort
Recursion Merge Function
Comparison-Based Sort In-Place Sort

 

The scenario in which an algorithm takes the most amount of time to solve a given problem. The scenario in which an algorithm takes an average amount of time to solve a given problem.
A variant of merge sort that does not require extra space for temporary arrays or data structures. A mathematical notation used to describe the upper bound of the time complexity of an algorithm as the input size approaches infinity.
The central component of the merge sort algorithm is the function that combines two sorted subarrays. Its primary goal is to merge these arrays. A method for solving a problem by dividing it into progressively smaller subproblems.
A sort algorithm that arranges the elements of an array without needing any extra memory for sorting. A sort algorithm that looks at the elements of the array to be sorted to determine their relative order.

 

Out-Of-Place Sort Linearithmic Time Complexity
Logarithmic Time Complexity Quadratic Time Complexity
Pseudocode Sequential Search
Linear Search List

 

A time complexity that combines the efficiency of linear time and logarithmic time. A sorting algorithm that necessitates extra memory in order to arrange the array.
A time complexity that grows proportionally with the square of the input size. The time complexity that demonstrates a gradual increase in time required with an increase in input size, following a logarithmic pattern.
Algorithm that searches a list or array one item at a time in a linear fashion. An informal high-level description of the operating principle of a computer program is a non-specific outline that summarizes how the program functions.
An ordered collection of data. Algorithm that searches for a specific element in a list or array by checking each element one at a time.

 

Index Search
Unordered Algorithm
Runtime Complexity
Linear Time Complexity Worst-Case Scenario

 

The process of finding a specific value within an array or list. A position number indicating the location of an element within an array or list.
A step-by-step process for solving a problem or achieving a specific goal. A list that is not sorted according to any specific criterion.
A measure of how much time and/or space is required to execute an algorithm or program. The time taken to execute an algorithm or program.
The scenario in which an algorithm takes the longest time to complete. A measure of time complexity in which the execution time increases linearly with the size of the input.

 

Best-Case Scenario Average-Case Scenario
Big O Notation O(N)
Array Boolean
Binary Search Sorted Array

 

The scenario in which an algorithm's execution time falls between the best-case and worst-case scenarios. The scenario in which an algorithm takes the shortest time to complete.
The notation used to indicate linear complexity, where n is the size of the input. A mathematical notation used to describe the time complexity of an algorithm.
A data type that can have one of two possible values, usually true or false. A collection of elements of the same data type, stored in contiguous memory locations.
It is an array where the elements are arranged in increasing order. Algorithm that searches a sorted list or array by repeatedly dividing in half until the desired item is found.

 

Search Interval Target Element
Mid-Point Binary Search Tree
Balanced Binary Search Tree Height
Leaf Node

 

It is the element being searched for in the binary search algorithm. It is the range of elements in which the binary search algorithm looks for the target element.
It is a data structure that allows fast searching, insertion and deletion of elements, using the binary search algorithm on a sorted tree. It is the point in the search interval that divides it into two equal halves.
It is the length of the longest path from a node to a leaf in a binary search tree. It is a binary search tree where the heights of the two subtrees of any node differ by at most one.
It is a fundamental unit of a binary search tree that contains a value and links to its children. It is a node in a binary search tree that has no children.

 

Traversing In-Order Traversal
Pre-Order Traversal Post-Order Traversal

 

It is a traversing method for binary search trees where the left subtree is recursively traversed, followed by the root, and then the right subtree. It is the process of visiting all the nodes in a binary search tree in a specific order, such as in-order, pre-order and post-order.
It is a traversing method for binary search trees where the left and right subtrees are first recursively traversed, followed by the root. It is a traversing method for binary search trees where the root is visited first, followed by the left and right subtrees recursively.