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. |