Colors: Yellow = Current element, Purple = Insert element, Red = Left element, Blue = Comparing, Green = Sorted
Insertion Sort is a sorting algorithm that builds the sorted array one element at a time by inserting each element into its correct position among the previously sorted elements.
How it works:
Time Complexity: O(n²) - compares with sorted portion
Scenario: A card game player has 10 playing cards that arrive one at a time and needs to maintain them in sorted order for quick selection during gameplay.
Input: Cards arriving sequentially [7, 3, 9, 1, 5, 4, 8, 2, 10, 6]
Process: Each new card is inserted into its correct position in the sorted hand by shifting cards to the right
Output: Hand remains sorted after each insertion [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Insertion sort mirrors how humans naturally organize playing cards - each new card is inserted into its proper place in an already-sorted hand. With only 10 cards, the O(n²) complexity (worst case 45 comparisons) is negligible and the algorithm is intuitive. For small real-world data like card hands, student lists, or small database records, insertion sort is practical and efficient. It also works perfectly for online scenarios where data arrives sequentially and must be kept sorted in real-time.
Benefits: Simple and intuitive, efficient for small datasets, stable sorting, in-place operation, excellent cache locality