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