Colors: Yellow = Current element, Purple = Largest so far, Red = Upper boundary, Blue = Comparing, Green = Sorted
Selection Sort is a sorting algorithm that repeatedly finds the largest element in the unsorted portion and places it at the end of the sorted portion.
How it works:
Time Complexity: O(n²) - compares all pairs of elements
Scenario: A data logger in an embedded system needs to sort 100 sensor readings stored in flash memory with very limited write operations allowed.
Input: Sensor readings [42, 18, 65, 33, 79, 24, 51, 87, 39, 71]
Process: Repeatedly find largest unplaced element and swap it to correct position, minimizing total swaps
Output: Sorted readings [18, 24, 33, 39, 42, 51, 65, 71, 79, 87] with only 9 writes
Selection sort excels in this scenario because flash memory has limited write cycles (typically 10,000-100,000 cycles per cell). Other sorting algorithms like bubble sort could require up to n(n-1)/2 = 45 swaps, but selection sort guarantees only n-1 = 9 swaps maximum. This directly translates to longer device lifespan and reduced wear. IoT devices, data loggers, and embedded sensors often use selection sort variants to minimize memory wear while maintaining small code footprint.
Benefits: Minimum writes O(n), simple implementation, predictable swaps, ideal for write-constrained systems