| Bubble Sort | Comparison |
| Efficiency | Iteration |
| Swapping | In-Place Sorting |
| Time Complexity | Space Complexity |
| Checking two adjacent elements to decide if they should be swapped to sort the list in order. | A sorting method that repeatedly swaps adjacent elements to arrange a list in order. |
| 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. |
| An algorithm that sorts data by rearranging elements within the original structure using minimal extra memory. | The process of exchanging two items in a list or array. |
| The measure of memory an algorithm requires relative to input size during problem-solving and subproblem breakdown. | The measure of how an algorithm's running time grows as the size of its input 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 maximum time or memory an algorithm requires when processing the most challenging input within problem solving. |
| The process of improving the performance of an algorithm by reducing its time or space complexity. | The expected time or space an algorithm requires when processing typical inputs based on their likelihood. |
| An arrangement of data where values increase from the smallest to the largest, used in sorting algorithms. | A single data value stored within a collection used to organize information in algorithms and problem solving. |
| An algorithm that preserves the relative order of equal elements during sorting. | An arrangement of items starting with the highest value, used to organize data for efficient problem solving. |
| Merge Sort | Divide And Conquer |
| Recursive | Merge |
| Stable Sort | Comparisons |
| Swaps | Best Case |
| A strategy that breaks a problem into subproblems, solves them independently, then combines 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 total count of element comparisons performed to determine order during a sorting algorithm's execution. | 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 count of times two elements exchange positions during the process of arranging data in order. |
| Average Case | Worst Case |
| Big-O Notation | In-Place Merge Sort |
| Recursion | Merge Function |
| Comparison-Based Sort | In-Place Sort |
| The scenario where an algorithm requires the maximum time to complete when solving a problem. | A typical scenario describing the expected time an algorithm requires to solve a problem across all inputs. |
| A merge sort technique that sorts data by combining subproblems without using extra memory for temporary storage. | Mathematical notation describing an algorithm's maximum time complexity growth as input size increases indefinitely. |
| A function that efficiently combines two sorted lists into one sorted list during a divide-and-conquer algorithm. | A technique that solves a problem by repeatedly applying the same process to smaller instances until reaching a simple case. |
| An algorithm that rearranges elements within the original array using minimal extra memory during problem solving. | An algorithm that orders elements by repeatedly comparing pairs to determine their relative positions within a list. |
| Out-Of-Place Sort | Linearithmic Time Complexity |
| Logarithmic Time Complexity | Quadratic Time Complexity |
| Pseudocode | Sequential Search |
| Linear Search | List |
| A time complexity that grows proportionally to input size times the logarithm of the input size. | A sorting method that requires additional memory to rearrange elements, unlike algorithms that sort within the original data space. |
| A time complexity where the number of operations increases proportionally to the square of the input size, common in nested loops. | An algorithmic time growth where processing steps increase slowly as input size doubles, following a logarithmic scale. |
| An algorithm that examines each element in a list sequentially until a target is found. | A simple, informal way to outline an algorithm’s steps without using programming language syntax. |
| A sequence of elements arranged in a specific order, used to organize data for algorithmic processing. | Algorithm that checks each element in a list sequentially to find a specific target value. |
| 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 where elements have no specific order, often used when sequence does not affect problem-solving steps. |
| A measure of how much time and/or space is required to execute an algorithm or program. | The duration an algorithm takes to complete its process when solving a problem. |
| The input or condition causing an algorithm to require the maximum time or resources 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 expected execution time of an algorithm for typical inputs, between the best and worst performance cases. | The scenario in which an algorithm takes the shortest time to complete. |
| A way to describe how an algorithm's running time increases proportionally with the input size during problem solving. | A way to express how an algorithm's running time grows relative to input size, focusing on efficiency. |
| 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. |
| Target Element | Mid-Point |
| The location within a search range that splits it into two equal parts, aiding in dividing problems efficiently. | The specific value that the binary search algorithm looks for within a sorted list to find its position. |