Free DSA Course — Full Curriculum
18 comprehensive topics across 5 levels · 500+ practice problems · Self-paced · Free forever
Beginner Level — Foundations of DSA
The bedrock every advanced algorithm builds on. Begin here regardless of experience level — complexity analysis and basic data structures are the language all DSA speaks.
- 01Introduction to Algorithms and Complexity
-
02Basic Data Structures
- Arrays: declaration, traversal, insertion, deletion, 2D arrays
- Strings: manipulation, substring, reversal, palindrome checks
- Singly linked list: insert, delete, traverse, reverse
- Doubly linked list and circular linked list
- Stack: LIFO, push, pop, peek — array and linked list implementations
- Queue: FIFO, enqueue, dequeue — simple, circular, and deque
- Pointers and memory management recap (C/C++)
- 03Basic Sorting and Searching
Intermediate Level — Core Data Structures & Algorithms
Trees, heaps, graphs, and the algorithms that operate on them — the most interview-tested data structures in computer science.
-
04Trees and Heaps
- Binary tree: properties, height, depth, diameter
- Tree traversals: inorder, preorder, postorder, level-order (BFS)
- Binary Search Tree (BST): insert, search, delete, validation
- Min-heap and max-heap: heapify, insert, extract-min/max
- Heap sort using a priority queue
- Hash tables: hashing, chaining, open addressing, load factor
- 05Advanced Sorting Algorithms
-
06Graph Algorithms
- Graph representations: adjacency matrix, adjacency list, edge list
- DFS — depth-first search: iterative and recursive
- BFS — breadth-first search and shortest path in unweighted graphs
- Cycle detection in directed and undirected graphs
- Dijkstra's algorithm for shortest path in weighted graphs
- Bellman-Ford and Floyd-Warshall all-pairs shortest paths
- Minimum Spanning Tree: Kruskal's algorithm and Prim's algorithm
-
07Recursion and Backtracking
- Understanding the recursion call stack and recursion tree
- Tail recursion and memoized recursion
- Backtracking: state space tree, pruning, and feasibility
- Classic problems: N-Queens, Sudoku Solver, Word Search
- Subsets, permutations, and combinations generation
- Rat in a Maze, Knight's Tour, Hamiltonian Path
Advanced Level — Complex Algorithms & Structures
Dynamic programming, advanced data structures, and string algorithms — the topics that separate good engineers from great ones. The most heavily tested in FAANG interviews.
-
08Dynamic Programming
- Optimal substructure and overlapping subproblems
- Memoization (top-down DP) vs tabulation (bottom-up DP)
- Fibonacci, Climbing Stairs, House Robber
- 0/1 Knapsack and Unbounded Knapsack
- Longest Common Subsequence (LCS) and Longest Increasing Subsequence (LIS)
- Coin Change, Edit Distance, Matrix Chain Multiplication
- DP on trees, DP on graphs, bitmask DP
-
09Advanced Data Structures
- Trie (prefix tree): insert, search, prefix queries, autocomplete
- Segment Tree: range queries, point updates, lazy propagation
- Binary Indexed Tree (BIT / Fenwick Tree): prefix sums, updates
- Disjoint Set Union (DSU / Union-Find): union by rank, path compression
- AVL trees and Red-Black trees: self-balancing BST concepts
- Sparse Table for range minimum/maximum queries
-
10Greedy Algorithms
- Greedy choice property and optimal substructure
- Greedy vs DP — when each approach applies
- Activity selection problem and interval scheduling
- Huffman coding — optimal prefix-free data compression
- Job scheduling: deadline-based and weighted job scheduling
- Fractional knapsack, Egyptian fraction, minimum platforms
- 11String Algorithms
Professional Level — Problem Solving & Optimization
Bit manipulation, advanced graphs, and competitive programming — the skills that crack the hardest interview problems and win algorithmic competitions.
- 12Bit Manipulation
-
13Mathematical Algorithms
- GCD (Euclidean algorithm) and LCM
- Sieve of Eratosthenes for prime generation
- Modular arithmetic: addition, multiplication, modular inverse
- Fast exponentiation (binary exponentiation) in O(log n)
- Combinatorics: nCr, Pascal's triangle, Catalan numbers
- Number theory: Euler's totient, CRT, Fermat's little theorem
- 14Advanced Graph Algorithms
- 15Problem Solving Paradigms
- 16Competitive Programming
Optional Level — Expert & Research Topics
For learners pushing into expert territory — topics used in high-level competitive programming and systems research.
No account · No credit card · Works on any device · Free forever