Description
In this course, you will :
- A thorough understanding of various algorithm types as well as a simple process for approaching complexity analysis.
- Exposed to the most important algorithms you're likely to encounter on an interview as you progress, work your way through over 50 interactive coding challenges, and review detailed solutions for each problem.
- Able to build up to the best solution for tackling those tough coding interview questions head on.
Syllabus :
1. Algorithmic Paradigms
- Brute Force
- Greedy Algorithms
- Divide and Conquer
- Dynamic Programming
2. Introduction to Complexity Measures
- Comparing Algorithms
- Introduction to Asymptotic Analysis and Big O
- Other Common Asymptotic Notations and Why Big O Trumps Them
- Useful Formulae
- Common Complexity Scenarios
3. Sorting & Searching
- Selection Sort, Bubble Sort, & Insertion Sort
- Merge Sort
- Quicksort
- Overview of Sorting Algorithms
- Searching Algorithms
4. Graph Algorithms
- Introduction to Graph Algorithms and Implementation
- Quiz on Graph Algorithms
5. Greedy Algorithms
- Activity Scheduling Problem
6. Dynamic Programming
- Calculating Fibonnacci Numbers
- Introducing Dynamic Programming With Fibonacci Numbers
- Memoizing Fibonacci Numbers
- Tabulating Fibonacci Numbers
7. Divide and Conquer
- Introduction to Divide and Conquer with Binary Search
- Pascal's Triangle