Sorting Algorithms Study Cards

Enhance Your Learning with Sorting Algorithms Flash Cards for quick learning



Bubble Sort

A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order.

Selection Sort

A simple sorting algorithm that selects the smallest element from an unsorted list and swaps it with the leftmost unsorted element.

Insertion Sort

A simple sorting algorithm that builds the final sorted array one item at a time, comparing each item with the previous ones and inserting it at the correct position.

Merge Sort

A divide and conquer algorithm that divides the unsorted list into sublists, sorts them independently, and then merges them to produce a sorted list.

Quick Sort

A divide and conquer algorithm that selects a pivot element and partitions the array around the pivot, recursively sorting the sub-arrays.

Heap Sort

A comparison-based sorting algorithm that uses a binary heap data structure to sort elements.

Radix Sort

A non-comparative sorting algorithm that sorts data with integer keys by grouping keys by the individual digits which share the same significant position and value.

Counting Sort

A non-comparative sorting algorithm that sorts elements based on the keys' values by counting the number of occurrences of each unique key.

Bucket Sort

A sorting algorithm that works by distributing the elements of an array into a number of buckets and then sorting each bucket individually.

Shell Sort

An in-place comparison sort that can be seen as either a generalization of insertion sort or a variation of bubble sort.

Tim Sort

A hybrid sorting algorithm derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data.

Comb Sort

A relatively simple sorting algorithm that improves on bubble sort by using a gap sequence to eliminate small values at the end of the list.

Pigeonhole Sort

A sorting algorithm that is suitable for sorting lists of elements where the number of elements and the number of possible key values are approximately the same.

Cycle Sort

A sorting algorithm that is theoretically optimal in terms of the total number of writes to the original array.

Cocktail Sort

A variation of bubble sort that sorts the list in both directions, moving the largest elements to the right and the smallest elements to the left.

Gnome Sort

A sorting algorithm that works by repeatedly swapping adjacent elements if they are in the wrong order, similar to bubble sort.

Bitonic Sort

A comparison-based sorting algorithm that can be run in parallel, making it suitable for implementation on parallel processors.

Pancake Sort

A sorting algorithm that sorts a sequence by flipping the elements of the sequence, one at a time, using a spatula.

Bogo Sort

A highly inefficient sorting algorithm that generates a random permutation of the input list and checks if it is sorted.

Bead Sort

A natural sorting algorithm that can sort integers in linear time, based on the way beads naturally fall under gravity.

Binary Insertion Sort

A variation of insertion sort that uses binary search to find the correct position to insert each element.

Bozo Sort

A highly inefficient sorting algorithm that randomly permutes the input list until it is sorted.

Brick Sort

A variation of bubble sort that sorts the list in both directions, moving the largest elements to the right and the smallest elements to the left.

Circle Sort

A variation of bubble sort that moves elements in a circular fashion, repeatedly moving the largest element to the rightmost position.

Cocktail Shaker Sort

A variation of bubble sort that sorts the list in both directions, moving the largest elements to the right and the smallest elements to the left.

Column Sort

A sorting algorithm that sorts a matrix of elements column by column, using a stable sorting algorithm.

Double Selection Sort

A variation of selection sort that selects both the minimum and maximum elements in each iteration and places them in their correct positions.

Dual-Pivot Quick Sort

A variation of quicksort that uses two pivots to partition the array into three parts, improving performance on arrays with many duplicate elements.

External Sort

A sorting algorithm that can handle large amounts of data that do not fit into memory by using external storage devices.

Flash Sort

A distribution sorting algorithm that works by dividing the input into a number of buckets, sorting them individually, and then combining the sorted buckets.

Franceschini's Method

A sorting algorithm that uses a combination of insertion sort and binary search to achieve a time complexity of O(n log n).

Introsort

A hybrid sorting algorithm that combines quicksort, heapsort, and insertion sort to provide both good average-case performance and worst-case performance guarantees.

Library Sort

A sorting algorithm that uses a binary search tree to maintain a sorted sublist of the input, allowing for efficient insertion and deletion of elements.

Odd-Even Sort

A sorting algorithm that compares all pairs of adjacent elements and swaps them if they are in the wrong order, repeating the process until the list is sorted.

Patience Sorting

A sorting algorithm that uses a variation of the patience game to sort elements, creating a sequence of piles and repeatedly removing the smallest card from the piles.

Postman Sort

A sorting algorithm that uses a combination of bubble sort and insertion sort to sort elements, with a time complexity of O(n^2).

Smooth Sort

A variation of heap sort that uses the Leonardo numbers to build a heap and perform the sorting.

Stable Sort

A sorting algorithm that preserves the relative order of equal elements, ensuring that elements that compare as equal remain in the same order in the sorted output.

Strand Sort

A sorting algorithm that repeatedly pulls sorted sublists from the input list and merges them to produce a sorted output.

Topological Sort

A sorting algorithm that orders the vertices of a directed graph such that for every directed edge from vertex A to vertex B, A comes before B in the ordering.

Tree Sort

A sorting algorithm that builds a binary search tree from the elements to be sorted and then performs an in-order traversal to obtain the sorted sequence.