Programming#
Interview-focused data structures, algorithms, and software design — Python-first, with curated problem sheets and 500+ pattern solutions.
New here?
Start with Data Structures Overview, then pick one DSA Pattern track below.
What's in this section#
| Track | Pages | Best for |
|---|---|---|
| Data Structures | 12 | Implementations, complexity, when to use each structure |
| Algorithmic Concepts | 7 | Big-O, recursion, sorting, searching, greedy vs DP |
| DSA Patterns | 23 · 504 problems | Pattern recognition + full Python solutions |
| DSA Sheets | 4 curated lists | Blind 75, Grind 75, LC Top 150, NeetCode 150 |
| Design Patterns | 3 + overview | OOP patterns (Java) + interview design problems |
| DSA Venn Explorer | External tool | Compare overlap across interview lists |
Recommended learning paths#
2-week sprint (interview soon)#
- Complexity — Big-O cheat sheet
- Data Structures Overview — pattern recognition table
- Patterns: Two Pointers → Sliding Window → Binary Search → Tree → Graph
- Practice: Blind 75 with Venn Explorer
- Capstone: Challenge Yourself (LRU, TimeMap, etc.)
2-month deep prep#
- All Data Structures pages (implement from scratch once)
- Algorithmic Concepts — Recursion, Sorting, Searching, Greedy vs DP
- DSA Patterns in order: Foundations → Linear → Trees & Graphs → Advanced → Capstone
- DSA Sheets — Grind 75 or NeetCode 150, using pattern links instead of re-reading solutions
- Design Patterns overview + Challenge Yourself
Pattern quick-reference#
| You see… | Reach for… | Doc |
|---|---|---|
| Sorted array + pair sum | Two pointers | 01. Two Pointers |
| Subarray with constraint | Sliding window / prefix sum | 03 · 00 |
| Linked list cycle | Fast & slow | 02. Fast and Slow |
| Next greater element | Monotonic stack | 08. Stack |
| K-th largest / merge K lists | Heap | 15. Heaps |
| Shortest path / connectivity | BFS / Union-Find | 17. Graph |
| Overlapping intervals | Sort + merge | 04. Overlapping Intervals |
| Optimal substructure | DP | 13. Dynamic Programming |
| Try all combinations | Backtracking | 12. Backtracking |
How the pieces connect#
flowchart LR
DS[Data Structures] --> PAT[DSA Patterns]
AC[Algorithmic Concepts] --> PAT
PAT --> SHEET[DSA Sheets]
PAT --> CHAL[Challenge Yourself]
SHEET --> VENN[Venn Explorer]
PAT --> DS
- Data Structures teach what and how (implementations).
- Algorithmic Concepts teach why (complexity, recursion, trade-offs).
- DSA Patterns teach when (recognition + solutions).
- DSA Sheets are practice lists — solutions link back to Patterns when available.
External resources#
- LeetCode — practice platform
- DSA Venn Explorer — compare Blind 75, Grind 75, Top 150, NeetCode 150