DSA_Roadmap_topics icon indicating copy to clipboard operation
DSA_Roadmap_topics copied to clipboard

Detailed list of important dsa topics

Data Structures and Algorithms in C++

6 months - 1 year Competitive Programming Plan | Algorithmic Programmer

TOPICS

  • [ ] C++ STL
    • [x] Pairs
    • [ ] Vectors
    • [ ] Forward_list and list
    • [ ] Dequeue
    • [ ] Stack
    • [ ] Queue
    • [ ] Priority Queue
    • [ ] Set and Multiset
    • [ ] Maps and Multimaps
    • [ ] Unordered_set
    • [ ] Unordered_map
    • [ ] Non Mutating STL Algorithms
    • [ ] Mutating STL Algorithms
    • [ ] Miscellaneous
  • [ ] Arrays | Strings - Basic
  • [ ] Mathematics
  • [ ] Number Theory
  • [ ] Recusrion
  • [ ] Backtracking
  • [ ] Binary Search
  • [ ] Sorting & Searching
  • [ ] Bit Manipulation
  • [ ] Linked Lists
  • [ ] Stacks
  • [ ] Queues
  • [ ] Binary Trees
  • [ ] Binary Search Trees
  • [ ] Heaps + Heapsort
  • [ ] Hashing
  • [ ] Graphs - Basic
  • [ ] Dynamic Programming
  • [ ] Graphs - Advanced
  • [ ] Tries
  • [ ] Disjoint Sets
  • [ ] Segment Trees
  • [ ] Fendwick Trees
  • [ ] Greedy Algorithms
  • [ ] Game Theory
  • [ ] Advanced DS
  • [ ] Mo's Algorithm
  • [ ] Strings - Advanced
  • [ ] Heavy Light Decomposition | Fast Fourier Theorem

ROADMAP

GIVE A DEADLINE TO EVERYTHING HERE, NEITHER TOO LESS NOR TOO MUCH.

Books:

  • CP Handbook:-> Concise & to the point theory and CODE SNIPPETS. #Primary_Book2
  • Antti Laaksonen:-> Good book, at time of understanding topics. #Primary_Book2
  • CLRS:-> At the end of a big topic, Correctness and proofs.
  • Algorithm Design Manual:-> Revision advanced
  • Programming Challenges Skienna:-> Summary and Problems
  • CP3:-> Revision and practicing problems (at last).

MODULE 1: STL and Implementation

  • pairs and vectors
  • forward_list & list
  • Dequeue
  • Stack
  • Queue
  • Priority Queue
  • Set and Multiset
  • Maps and Multimap
  • Unordered Set
  • Unordered Map
  • STL Algorithms and Extra Features

MODULE 2: Number Theory 1

  • Binary and Matrix Exponentiation + Other basic math operations
  • Sqrt(n) primality testing
  • Euclid's GCD Algorithm
  • Prime no's and divisibility of no's
  • Modulo Arithmetic Basics

MODULE 3: CP Strong Base

  • Pointers
  • Dynamic Memory Allocation
  • Bit manipulation Basics
  • Basic Recursion
  • DP Basics
  • Array Techniques and problems
  • Searching | Binary Search and Ternary Search
  • Sorting | Sorting in linear time
  • Matrix
  • Hashing
  • Strings
  • Bit Manipulation Advanced Techniques

MODULE 4: Number Theory 2

  • Linear Diophantine equations
  • Number Theoretic functions

MODULE 5: Mastering Data Structures

  • Advanced Recursion and Backtracking
  • Linked Lists
  • Stacks
  • Queues
  • Deque
  • Trees
  • Binary Trees
  • BST
  • Priority Queues | Heaps
  • Tries

MODULE 6: Mastering Combinatorics

MODULE 7: Mastering Advanced Algorithms

  • Graphs
  • DP Advanced
  • Greedy
  • Disjoint Set

MODULE 8: Mastering Range queries

  • Segment Trees with lazy propagation
  • Fenwick Trees
  • Graphs Advanced
  • Game Theory

MODULE 9: Master Complete Number Theory 3

  • Extended Euclidean Algorithm
  • Modulo Arithmetic Advanced

MODULE 10: Mastering Advanced Techniques

  • Amortized Analysis
  • Divide and Conquer
  • Mo's Algorithm | Sqrt Decomposition | HLD
  • Computational Geometry

MODULE 11: Advanced Data Structures and Optimizations


 Fork the repo and prepare with the free resourses available.
 All contributions are welcome.

Hope it easied your life a bit.