Complete DSA Roadmap
By Ronit Kundu
Language Fundamentals:
1. Flowchart
2. Variables, Operators, Input/Output
3. Control Flow (If-Else, Loops)
4. Basics of STL
Time and Space Complexity:
1. Why, What and How?
2. Different Notations
3. Comparing Different Complexities
Arrays:
1. Theory and Basic Operations
2. Memory Allocation
3. Dynamic Arrays
4. Patterns like 2-pointers, Sliding Window
5. Auxiliary Arrays
Searching and Sorting:
1. Bubble, Selection, Insertion Sort
2. Merge Sort, Quick Sort
3. Applications of the algorithms
4. Linear and Binary Search
5. Ternary Search
1
Linked List:
1. Intuition and Implementation
2. Singly, Doubly and Circular Linked List
3. Practice Problems
Stacks and Queues:
1. Theory and Basic Operations
2. Implementation using Arrays, Linked List
3. Deque and its classical problems
Ordered and Unordered Map:
1. Intuition behind Hand functions
2. Implementation Unordered map
3. LRU cache
Number Theory:
1. Primality testing and factorization
2. Sieve of Eratosthenes
3. Euclid’s GCD and extended GCD
4. Modular arithmetic and Binary Exponentiation
5. Linear Diophantine equation
6. Modular inverse
2
Greedy Algorithms:
1. Introduction and how to identify
2. Activity selection problem
3. Job selection problem
4. Huffman encoding
5. Fractional Knapsack
Recursion and Backtracking:
1. Advanced
2. Sudoku solver, N-Queen
3. Generating Subsets, Permutations
Dynamic Programming:
1. Longest increasing subsequence
2. Longest common subsequence
3. Knapsack, Matrix multiplication
4. DP with Bitmasks and Game theory
5. DP for combinatorics and Probability
6. Digit DP
Discrete Math:
1. Combinations Basics
2. Boolean Algebra and Bit Manipulation
3. Stars and Bars principle
4. Probability
5. Pigeon Hole principle
3
Trees:
1. Generic Trees
2. Binary Trees
3. Binary Search Trees
4. Tree Traversals
Heaps and Trie:
1. Theory and Implementation
2. Priority CPU scheduling
3. Binary Trie
Graphs:
1. Theory and Implementation
2. Traversals - DFS, BFS
3. Shortest path algorithm
4. Dijkstra, Bellman Ford, Floyd Warshall
5. MST - PRIM, Kruskal algorithms
6. Disjoint set union
7. Topological sorting, SCCS
String Algorithms:
1. Rabin Karp
2. Naive pattern matching
3. Prefix Function and KMP algorithm
4
Bonus Topics:
1. Game theory basics
2. Sparse table
3. Segment tree
4. Fenwick tree(BIT)