Algorithms
Develop deep problem-solving skills by understanding the core algorithmic techniques that power all modern software systems — from sorting to dynamic programming.
10–12 weeks
13.8k students
4.9 rating
Progress0/55 lessons
Key Topics You'll Master
1
Algorithm Foundations & Complexity2
Recursion and Iteration3
Sorting Algorithms4
Searching Algorithms5
Divide and Conquer6
Greedy Algorithms7
Dynamic Programming (DP)8
Graph Algorithms9
String and Pattern Algorithms10
Optimization and Real-World ApplicationsLearning Outcomes
- Understand time and space complexity deeply (Big O, Omega, Theta)
- Analyze, design, and optimize algorithms for efficiency
- Master recursion, iteration, and problem decomposition
- Apply algorithmic paradigms like divide & conquer, greedy, and dynamic programming
- Work with real-world graph, string, and numeric problems
- Develop competitive programming and interview problem-solving skills
Prerequisites
- Basic programming knowledge (in any language)
- Understanding of data structures (arrays, lists, trees, graphs)
- Basic math and logic reasoning
1
Algorithm Foundations & ComplexityUnderstanding performance, analysis, and algorithm behavior.
What is an Algorithm?
video • 15 min
Time & Space Complexity (Big O, Ω, Θ)
video • 25 min
Asymptotic Analysis and Growth Rates
video • 20 min
Common Complexity Classes (O(1), O(n), O(n log n), O(2^n))
article • 15 min
Practice: Analyze and Compare Algorithms
exercise • 45 min
2
Recursion and IterationBreaking problems into smaller subproblems using recursion.
Understanding Recursion and Stack Frames
video • 25 min
Tail Recursion and Optimization
video • 20 min
Recurrence Relations and Subproblem Trees
video • 22 min
Iterative vs Recursive Trade-offs
article • 15 min
Practice: Factorial, Fibonacci, Tower of Hanoi
exercise • 55 min
3
Sorting AlgorithmsOrganizing data efficiently through comparison-based and non-comparison-based methods.
Bubble, Insertion, and Selection Sort
video • 25 min
Merge Sort (Divide and Conquer)
video • 25 min
Quick Sort and Partition Logic
video • 25 min
Counting, Radix, and Bucket Sort
video • 20 min
Sorting Stability and In-Place Concepts
article • 15 min
Practice: Sorting Visualizations and Comparisons
exercise • 60 min
4
Searching AlgorithmsEfficiently locating elements or patterns in structured or unstructured data.
Linear Search and Basic Search Logic
video • 18 min
Binary Search (Iterative & Recursive)
video • 25 min
Ternary Search and Search Space Reduction
video • 20 min
Applications of Binary Search (Lower/Upper Bound)
article • 15 min
Practice: Search Problems on Arrays & Ranges
exercise • 50 min
5
Divide and ConquerBreaking complex problems into independent subproblems.
Divide and Conquer Concept
video • 20 min
Case Studies: Merge Sort, Quick Sort, Binary Search
video • 22 min
Matrix Multiplication and Closest Pair Problem
video • 25 min
Master Theorem for Complexity Analysis
article • 15 min
Practice: Recursive Tree Analysis
exercise • 50 min
6
Greedy AlgorithmsMaking optimal local choices to reach a globally optimal solution.
Greedy Choice Property and Optimal Substructure
video • 22 min
Activity Selection and Interval Scheduling
video • 25 min
Huffman Encoding and Data Compression
video • 25 min
Minimum Spanning Tree (Kruskal’s & Prim’s overview)
video • 25 min
Greedy vs Dynamic Programming Comparison
article • 15 min
Practice: Greedy Problem Set
exercise • 55 min
7
Dynamic Programming (DP)Solving problems by storing intermediate results to avoid recomputation.
Overlapping Subproblems and Optimal Substructure
video • 25 min
Memoization vs Tabulation Approaches
video • 25 min
1D DP: Fibonacci, Climbing Stairs, Min Cost Path
video • 25 min
2D DP: Knapsack, Subset Sum, LCS
video • 30 min
State Representation and Transitions
article • 15 min
Practice: DP Challenge Set
exercise • 75 min
8
Graph AlgorithmsAlgorithms for connected, directed, and weighted graph structures.
Graph Traversal: BFS and DFS
video • 25 min
Shortest Path: Dijkstra, Bellman-Ford, Floyd-Warshall
video • 30 min
Topological Sorting and DAGs
video • 25 min
Union-Find and Connected Components
video • 22 min
Minimum Spanning Trees (Kruskal’s and Prim’s)
video • 25 min
Practice: Graph-Based Challenges
exercise • 75 min
9
String and Pattern AlgorithmsEfficient text and pattern manipulation algorithms.
String Matching Basics (Naive and Sliding Window)
video • 22 min
KMP Algorithm (Prefix Table Concept)
video • 25 min
Rabin-Karp and Rolling Hash
video • 25 min
Z-Algorithm and Prefix Functions
video • 22 min
Applications: Substring Search, DNA Matching, Logs
article • 15 min
Practice: String Problem Set
exercise • 55 min
10
Optimization and Real-World ApplicationsHow algorithms shape performance and decision-making in real systems.
Approximation and Randomized Algorithms
video • 25 min
Cache Optimization and Space Efficiency
video • 20 min
Parallel Algorithms and MapReduce Basics
video • 25 min
Algorithm Design Patterns in Industry
article • 15 min
Capstone: Build and Analyze a Real-World Algorithm
exercise • 90 min