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.