Skip to content

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

10. Heaps & Priority Queues

11. Graphs

12. Disjoint Set (Union-Find)

13. Dynamic Programming

14. Greedy Algorithms

15. Divide & Conquer

16. Backtracking

17. String Algorithms

18. Bit Manipulation

19. Number Theory

20. Computational Geometry

21. Advanced Data Structures

22. Randomized Algorithms

23. Platforms to Practice

  • 23.1 Leetcode
  • 23.2 Edabit
  • 23.3 Codeforces
  • 23.4 HackerRank
  • 23.5 AtCoder