Data Structures & Algorithms Roadmap¶
- Roadmap: https://roadmap.sh/datastructures-and-algorithms
1. Pick a Language¶
- 1.1 JavaScript
- 1.2 Java
- 1.3 Go
- 1.4 C#
- 1.5 C++
- 1.6 Python
- 1.7 Rust
- 1.8 Ruby
01. Introduction to DSA¶
What DSA is, why it matters, how to study it, how problems map to data structures.
02. Programming Fundamentals¶
03. What are Data Structures?¶
04. Why are Data Structures Important?¶
05. Basic Data Structures¶
06. Algorithmic Complexity¶
6.1 Time vs Space Complexity¶
6.2 How to Calculate Complexity?¶
6.3 Common Runtimes¶
6.4 Asymptotic Notation¶
07. Sorting Algorithms¶
08. Search Algorithms¶
09. Trees¶
- 9.1 Binary Tree
- 9.2 Binary Search Tree (BST)
- 9.3 AVL Tree
- 9.4 Red-Black Tree
- 9.5 Trie
- 9.6 Segment Tree
- 9.7 Fenwick Tree (BIT)
- 9.8 B-Tree
10. Heaps & Priority Queues¶
11. Graphs¶
- 11.1 Representation (matrix, list)
- 11.2 BFS
- 11.3 DFS
- 11.4 Dijkstra
- 11.5 Bellman-Ford
- 11.6 Floyd-Warshall
- 11.7 Topological Sort
- 11.8 Tarjan's SCC
- 11.9 A* Search
- 11.10 Minimum Spanning Tree (Kruskal, Prim)
12. Disjoint Set (Union-Find)¶
13. Dynamic Programming¶
- 13.1 Memoization vs Tabulation
- 13.2 Knapsack (0/1, unbounded)
- 13.3 LCS / LIS
- 13.4 Edit Distance
- 13.5 Interval DP
- 13.6 Bitmask DP
- 13.7 Tree DP
- 13.8 Digit DP
14. Greedy Algorithms¶
- 14.1 Activity Selection
- 14.2 Huffman Coding
- 14.3 Fractional Knapsack
- 14.4 Job Scheduling
- 14.5 Exchange Argument
15. Divide & Conquer¶
16. Backtracking¶
17. String Algorithms¶
- 17.1 KMP
- 17.2 Z-Function
- 17.3 Rabin-Karp
- 17.4 Suffix Arrays
- 17.5 Aho-Corasick
- 17.6 Edit Distance
- 17.7 Tries (string-focused)
18. Bit Manipulation¶
19. Number Theory¶
- 19.1 GCD / LCM
- 19.2 Modular Arithmetic
- 19.3 Prime Sieves
- 19.4 Fermat's Little Theorem / Euler's Totient
- 19.5 Chinese Remainder Theorem (CRT)
20. Computational Geometry¶
21. Advanced Data Structures¶
22. Randomized Algorithms¶
- 22.1 Reservoir Sampling
- 22.2 MinHash
- 22.3 Monte Carlo vs Las Vegas
- 22.4 Treap
- 22.5 Randomized Quicksort
23. Platforms to Practice¶
- 23.1 Leetcode
- 23.2 Edabit
- 23.3 Codeforces
- 23.4 HackerRank
- 23.5 AtCoder