DSA
C++ primer
- STL - Introduction
- STL - Vectors
- STL - Sequence Containers and Adaptors
- STL - Associative Containers
- STL - Algorithms
- C++ Character functions
- Modern C++ features
- More C++
Theory and prerequisites
Misc
Recursion
- Identifying and applying Recursion
- Types of Recursion
- Loops vs Recursion
- Recurrence Relations and Master theorem
Sorting and Searching
Graphs and Trees
- Graph Theory Terminology
- Graph Representation
- Tree Representation and Traversal
- BFS Traversal of Graph
- DFS Traversal of Graph
DSA Problems
| Lvl | Problem | Techniques |
|---|---|---|
| Arrays, Strings | ||
| 🔵 | Design a Dynamic array | design |
| 🔵 | Contains Duplicate | sorting , hashing |
| 🔵 | Valid Anagram | sorting , hashing |
| 🟢 | Valid Palindrome | 2-ptr |
| 🟢 | Two Sum | hashing , 2-ptr , binary-search |
| 🟡 | Group Anagrams | hashing , sorting |
| 🟡 | Product of Array except self | precompute |
| 🟡 | Valid Sudoku | hashing |
| 🟡 | Longest Consecutive Sequence | sorting , hashing |
| Stack, Queues, Heaps | ||
| 🔵 | Stack Implementation | design |
| 🔵 | Queue Implementation | design |
| 🟢 | Valid Parantheses | |
| 🟡 | Top K frequent elements | hashing , sorting |
| Linked Lists | ||
| 🟡 | Design HashSet | design , hashing |