DSA_Roadmap_topics
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.