Beginner Topic 10 of 51 Algorithms
Insertion Sort
Growing a sorted prefix by inserting each next element.
How it works
Insertion sort builds the sorted array one element at a time: it takes the next element and shifts larger items in the sorted prefix to the right until it finds the right place to insert it. It runs in O(n) on nearly sorted input and O(n squared) in the worst case, is stable, in place and works online as items arrive.
Where it is used
Sorting small arrays, finishing off hybrid algorithms like Timsort and introsort, which use it for short runs, keeping a small list sorted as items arrive and sorting cards by hand all use insertion sort.
Common pitfall
Reverse-sorted inputs trigger worst-case behavior with many shifts. Using it on large random data is slow. Be careful with the inner loop bounds so you do not read before index zero. Binary insertion reduces comparisons but not shifts.
Where it fits in the course
Insertion Sort is topic 10 of 51 in Algorithms, rated Beginner. It follows Selection Sort. The next topic is Merge Sort.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Algorithms quiz.
- Explore the Sorting Algorithms visualizer: Bubble, selection, insertion, merge and quick sort animated.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Algorithms quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Insertion Sort?
Where do people use Insertion Sort?
What is the most common mistake with Insertion Sort?
What should I learn before this topic?
How can I practice it?
Is Insertion Sort hard to learn?
How long does it take to learn Insertion Sort?
Which topics are related to Insertion Sort?
What should I study after Insertion Sort?
Related topics
- Selection Sort (Algorithms)
- Merge Sort (Algorithms)
- Bubble Sort (Algorithms)
- Quick Sort (Algorithms)