Difficulty | Easy | Medium | Hard | Very Hard |
---|---|---|---|---|
Icon | 🍰 | 🌰 | 🌰🌰 | 🌰🌰🌰 |
Dynamic Programming | Lesson 1 | Lesson 2 | Lesson 3 | --- | --- |
---|---|---|---|---|---|
Difficulty | 🌰 🌰 | 🌰 🌰 | 🌰 🌰 🌰 | --- | --- |
Randomized Algorithms | Lesson 1 | Lesson 2 | Lesson 3 | --- | --- |
Difficulty | 🍰 | 🌰 🌰 | 🌰 | --- | --- |
Divide and Conquer | Lesson 1 | Lesson 2 | Lesson 3 | Lesson 4 | Lesson 5 |
Difficulty | 🍰 | 🌰 | 🍰 | 🌰 🌰 🌰 | 🌰 🌰 🌰 |
Graph Algorithms | Lesson 1 | Lesson 2 | Lesson 3 | Lesson 4 | --- |
Difficulty | 🌰 | --- | --- | --- | --- |
Lesson 1 - source code
- Fibonacci
- Longest Common Subsequence
- Longest Uncommon Subsequence
- Longest Increasing Subsequence
Lesson 2 - source code
- Knapsack problems with or without repetition of items
- Chain Matrix Multiplication
- Balanced Binary Tree
Lesson 3 - source code
- Find the shortest path using Dijkstra's algorithm
- Find the shortest path using Bellman-Ford's algorithm
Lesson 1 - source code
- Modular Arithmetic
- Multiplicative Inverses
- Euclid's Algorithm (GCD)
Lesson 2 - source code
- RSA Algorithm and Implementation
- Primality Tests
Lesson 3 - source code
- Implementation of Hash Map
- Implementation of Bloom Filter
Lesson 1 - source code
- Multiplication Algorithms - naive and faster approaches
Lesson 2 - source code
- Kth Smallest and Kth Largest in an unsorted array
- Quick Sort
Lesson 3 - source code
- Sum of Geometric Series
Lesson 4 - source code
- Polynomial Multiplication
- Fast Fourier Transform - FFT
Lesson 5 - source code
- Polynomial Multiplication using FFT
Lesson 1 - source code
- Depth First Search in Graph
- Topological Sort
- Find Strongly Connected Components in Graph