# Classic Coding Algorithms: Searching and Sorting

A thorough refresher on common algorithms to take before your next coding interview.

Binary Search, Insertion Sort, Merge Sort, Anagram Checker: Algorithm Explanation, Complexity Analysis, and Code

What you’ll learn

• Four classic algorithms, their complexity, and how to code them.

Course Content

• Introduction –> 1 lecture • 1min.
• Binary Search –> 7 lectures • 26min.
• Insertion Sort –> 8 lectures • 23min.
• Merge Sort –> 7 lectures • 40min.
• Anagram Check: Algorithm with Unicode –> 8 lectures • 24min.

Requirements

Binary Search, Insertion Sort, Merge Sort, Anagram Checker: Algorithm Explanation, Complexity Analysis, and Code

In this course you’ll learn some fundamental programming algorithms. Variations of these approaches appear throughout coding, being used again and again to solve problems. And if you’re going into a coding interview, you’ll find it useful to be fresh with these; don’t be surprised if you’re asked directly about one of them.

This class covers these topics:

• Binary search, along with upper and lower bound
• Insertion sort and sort verification
• Merge sort and stable sorting

As a bonus we’ll look at an Anagram Checker, as it’s a difficult problem with Unicode, and has been a mainstay of many coding challenges.

For each of the algorithms I’ll show you:

• How the algorithm works with a visual explanation
• The derivation of the algorithmic complexity (Big O)
• Example code in type annotated Python

This class is suitable for all levels of programmers. If you’re starting out it’s a good introduction. If you’re a seasoned veteran it’s a good reminder of some forgotten details.

Get Tutorial