Merge Sort | Divide And Conquer |
Recursive | Merge |
In-Place Sorting | Stable Sort |
Comparisons | Swaps |
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. |
A sorting algorithm that preserves the relative order of equal elements in the sorted output. | A sorting algorithm that does not require extra space for temporary arrays or data structures. |
The number of times two elements are swapped during the sorting process. | The number of times two elements are compared during the sorting process. |
Time Complexity | Best Case |
Average Case | Worst Case |
Big-O Notation | Space Complexity |
In-Place Merge Sort | Recursion |
The scenario in which an algorithm takes the least amount of time to solve a given problem. | The amount of time an algorithm takes to solve a problem as a function of the size of the input. |
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. |
The amount of memory an algorithm requires to solve a problem as a function of the size of the input. | A mathematical notation used to describe the upper bound of the time complexity of an algorithm as the input size approaches infinity. |
A method for solving a problem by dividing it into progressively smaller subproblems. | A variant of merge sort that does not require extra space for temporary arrays or data structures. |
Merge Function | Comparison-Based Sort |
In-Place Sort | Out-Of-Place Sort |
Linearithmic Time Complexity | Logarithmic Time Complexity |
Quadratic Time Complexity | Pseudocode |
A sort algorithm that looks at the elements of the array to be sorted to determine their relative order. | 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 sorting algorithm that necessitates extra memory in order to arrange the array. | A sort algorithm that arranges the elements of an array without needing any extra memory for sorting. |
The time complexity that demonstrates a gradual increase in time required with an increase in input size, following a logarithmic pattern. | A time complexity that combines the efficiency of linear time and logarithmic time. |
An informal high-level description of the operating principle of a computer program is a non-specific outline that summarizes how the program functions. | A time complexity that grows proportionally with the square of the input size. |