Sorting
Algorithms that arrange data into a defined order.
Sorting algorithms reorder records, numbers, strings, or objects so later work can scan, compare, search, or present the data more easily.
Bubble Sort
Sorts a list by repeatedly swapping neighboring items that are out of order.
Insertion Sort
Sorts a list by inserting each item into the correct position within the already-sorted prefix.
Selection Sort
Sorts by repeatedly selecting the smallest remaining item.
Merge Sort
Sorts a list by recursively sorting halves and merging the sorted results.
Quick Sort
Sorts a list by partitioning values around a pivot and recursively sorting each side.
Heap Sort
Sorts a list by building a heap and repeatedly removing the highest-priority item.
Counting Sort
Sorts integer values by counting how many times each value appears.
Radix Sort
Sorts values by processing one digit or character position at a time.
Bucket Sort
Sorts by distributing values into buckets and sorting within each bucket.
Shell Sort
Sorts by comparing items far apart, then gradually reducing the gap.
Tim Sort
Sorts by detecting existing ordered runs and merging them with safeguards for real-world data.
External Sort
Sorts data sets that are too large to fit in memory by sorting chunks and merging them from disk.
Parallel Merge Sort
Sorts large collections by splitting merge sort work across workers and merging sorted partitions.
Bitonic Sort
Bitonic Sort sorts with a fixed comparison network suited to parallel execution.
Odd-Even Sort
Odd-Even Sort sorts with a fixed comparison network suited to parallel execution.
Odd-Even Merge Sort
Odd-Even Merge Sort sorts with a fixed comparison network suited to parallel execution.
Pancake Sort
Pancake Sort orders records with a named compare, partition, or distribution strategy.
Cycle Sort
Cycle Sort orders records with a named compare, partition, or distribution strategy.
Smoothsort
Smoothsort orders records with a named compare, partition, or distribution strategy.
Tournament Sort
Tournament Sort orders records with a named compare, partition, or distribution strategy.
Library Sort
Library Sort orders records with a named compare, partition, or distribution strategy.
Patience Sorting
Patience Sorting orders records with a named compare, partition, or distribution strategy.
American Flag Sort
American Flag Sort orders records with a named compare, partition, or distribution strategy.
Sample Sort
Sample Sort orders large or partitioned data by coordinating smaller sorted pieces.
Natural Merge Sort
Natural Merge Sort addresses adaptive sorting by detecting existing sorted runs and merging them.
Flashsort
Flashsort addresses distribution sorting by classifying elements into buckets by estimated value distribution.