DSA Concepts Roadmap
Progress 0/183 (0%)
Hierarchical roadmap of Data Structures & Algorithms topics. Use arrows to collapse groups, mark topics complete, or open the global search.
Foundations
Programming & tooling basics
Arrays & Patterns
Array operations, searching, sorting & pattern printing
Strings
String fundamentals & performance
Math & Number Theory
Math tools used in DSA & competitive programming
- Math Intro
- Bitwise Operators
- Range of Numbers
- Prime Numbers
- Sieve of Eratosthenes
- Newton's Sqrt Method
- Factors
- Modulo Properties
- Number Theory Basics
- HCF & LCM
- Euclidean Algorithm
- Extended Euclidean
- Modulo Inverse
- Linear Diophantine
- Matrix Exponentiation
- Catalan Numbers
- Fermat's Little Theorem
- Wilson's Theorem
- Euler's Theorem
- Euler Totient
- Lucas Theorem
- Chinese Remainder
- Mathematical Expectation
- Square Root Decomposition
Recursion & Backtracking
Recursive thinking patterns to exhaustive search optimizations
Complexity Analysis
Reason about performance & bounds
OOP (Java)
Object oriented paradigms & Java specifics
- OOP Intro
- Classes & Instances
- this Keyword
- OOP Properties
- Inheritance
- Abstraction
- Polymorphism
- Encapsulation
- Overloading & Overriding
- Static vs Non-Static
- Packages
- Access Control
- Interfaces
- Abstract Classes
- Annotations
- Singleton
- final/finalize/finally
- Object Cloning
- Object Class
- Generics
- Exception Handling
- Collections Framework
- Vector Class
- Lambda Expressions
- Enums
Linked Lists
Node-based linear data structure patterns
Stacks & Queues
LIFO/FIFO structures & transformations
File Handling
Trees & Advanced Trees
Hierarchical structures & range query trees
Heaps
Priority-based structures & applications
Hash Maps & String Hashing
Hash tables, collision strategies & encoding
Subarray Techniques
Graphs
Graph traversal, paths, spanning trees & ordering
Dynamic Programming
Optimal substructure & overlapping subproblems