Interview Prep: Insertion Sort

4.0 Average Customer Rating

Brush up on this algorithm that is sometimes asked about in interviews

  • 8 Videos
  • 0 hours 23 minutes
  • 63 Happy Students

About the course


Insertion sort is a commonly taught algorithm, and some interviewers like to ask about it. As you’ll see in this class, it’s an easy algorithm to understand and implement. You’ll learn the algorithmic complexity and understand why the algorithm is rarely used.

I’ll give a walkthrough of the source code, which I also provide in my repository:

Also watch my course on Binary Search, insertion sort makes use of that algorithm.


I want you to write an insertion sort function. Choose your favorite language, or the one for your interview, and implement a function that sorts a list of values. Use the algorithm I present in this class.

In the example Python implementation, the signature looks like this:

def insertion_sort( items : List[ComparableT] ) -> List[ComparableT]:

Verify Sort Algorithm

As a bonus project, write the verify sort algorithm. This is an essential bit of code for unit tests. It also explores concepts that will help you during your interviews.

Verify sort takes an unsorted list and a sorted list. It verifies that the sorted list is indeed the sorted version of the unsorted one.

  • 8 Videos
  • 0 hours 23 minutes
  • 63 Happy Students

Courses Outline

Lesson 1: Insertion Sort: Design and Implementation
Algorithm Design
Algorithm Complexity
Verify Sort Algorithm
Insert Sort Code
Stable Sort
Verify Sort Code
  • 8 Videos
  • 0 hours 23 minutes
  • 63 Happy Students