anuanu0-0 / DSA_Roadmap_topics

Detailed list of important dsa topics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structures and Algorithms in C++

6 months - 1 year Competitive Programming Plan | Algorithmic Programmer

TOPICS

  • C++ STL
    • 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.

About

Detailed list of important dsa topics

License:GNU General Public License v3.0