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.