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.