Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

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)

You might also like