Data Structures & Algorithms
Levels 2–4 — high-yield patterns, a curated problem bank, and the real algorithms inside your projects.
- DSA Study Plan & Complexity
What an SDE2 DSA round actually tests, the Big-O cheat sheet, the 'input size → expected complexity' trick, and a pattern-recognition table to map a problem to a technique fast.
complexitybig-opatternsinterview - How to Think (the Interview Cheat Code)Read me first
The problem statement is full of clues that name the right pattern. Learn the decoder table and the 7-step routine, then practice the thinking itself on guided walkthroughs.
patternsinterviewproblem-solvingframework - Arrays & StringsFoundation
Contiguous memory, O(1) indexing vs O(n) insertion, dynamic arrays, and why strings are arrays with rules.
arraysstringsmemoryfundamentals - Linked ListsFoundation
Nodes and pointers, O(1) insertion vs O(n) access, dummy heads, and the in-place reversal every interviewer asks.
linked-listpointersfundamentals - Stacks & QueuesFoundation
LIFO and FIFO — the two access disciplines behind undo, the call stack, BFS, and every task queue you'll ever deploy.
stackqueuedequefundamentals - Hash TablesFoundation
How dicts actually work — hash functions, buckets, collisions, resizing — and why O(1) lookup powers half of all interview solutions.
hash-tabledictionaryhashingfundamentals - Trees & BSTsFoundation
Hierarchy as a data structure — tree vocabulary, the four traversals, binary search trees, and why balance is everything.
treesbstrecursionfundamentals - Heaps & IntervalsCore pattern
Two patterns that show up constantly: a heap for top-K / streaming / merging, and sort-then-sweep for interval problems.
heappriority-queueintervalssorting - TriesFoundation
Prefix trees — where the path IS the key. The structure behind autocomplete, spell-check and prefix search in O(word length).
triestringsprefixfundamentals - Graphs — Complete Guide: BFS, DFS, Shortest Paths & Advanced AlgorithmsCore pattern
Everything about graphs from scratch — representation, BFS, DFS, cycle detection, topological sort, Dijkstra, Bellman-Ford, Floyd-Warshall, Prim, Kruskal, SCC, bridges, articulation points, and every pattern you need to crack any graph interview.
graphsBFSDFSDijkstratopological-sortMSTSCCshortest-path - Union-FindFoundation
Disjoint sets in ~10 lines — union by rank, path compression, and the 'are these connected?' questions it wins instantly.
union-finddsugraphsfundamentals - Segment & Fenwick TreesAdvanced structure
Range queries on changing data: why prefix sums break, how segment trees answer any range in O(log n), and the Fenwick tree's beautiful bit trick.
segment-treefenwick-treerange-queriesadvanced - Sorting & SearchingCore pattern
Merge sort, quicksort, heap sort and when to use each — plus the searching ladder from linear scan to binary search, and what interviewers actually test.
sortingsearchingmerge-sortquicksort - Binary Search (incl. on the answer)Core pattern
A template that never has off-by-one bugs, plus the SDE2-level skill: binary-searching the answer space for 'minimum X that works' problems.
binary-searchsearch-spacemonotonic - Two PointersCore pattern
Opposite-end, fast/slow, and partition variants — replace nested loops on sorted/linked data with a single O(n) pass.
arrayslinked-listtwo-pointers - Sliding WindowCore pattern
Turn an O(n·k) recompute-from-scratch loop into O(n) by maintaining a moving range and updating it incrementally.
arraysstringstwo-pointers - Streaming & Bounded-Memory AlgorithmsCore
The 'now optimize it for a stream with limited memory' follow-up: one-pass algorithms and sketches — top-K with a heap, reservoir sampling, Boyer-Moore majority, Count-Min, Bloom filters, HyperLogLog, running median, and external sort for data bigger than RAM.
streamingbounded-memoryheapsketchessystem-design - BacktrackingCore pattern
Try a choice, check it's still legal, go deeper — and when you hit a dead end, undo and try the next option. The pattern behind subsets, permutations and every constraint puzzle.
backtrackingrecursioncombinatorics - GreedyCore pattern
Take the locally best choice and never look back — when that's provably optimal, when it's a trap, and the interval/jump/exchange classics.
greedyintervalsexchange-argument - Dynamic ProgrammingCore pattern
How to recognize DP, the five-step recipe (state, transition, base, order, answer), memoization vs tabulation, and the classic problem families.
DPmemoizationrecursion - DP Patterns in DepthCore pattern
The six families that cover ~90% of DP interviews — knapsack, LIS, LCS, grid, interval and bitmask — each with its state, recurrence and tell.
dynamic-programmingknapsacklislcspatterns - String AlgorithmsAdvanced pattern
Finding patterns in text fast: rolling hashes and Rabin-Karp, KMP's failure function demystified, and when to just call the library.
stringskmprabin-karphashingpattern-matching - Problem Bank (Flashcards)
A curated set of high-frequency problems grouped by pattern. Each is a flashcard: read the prompt, decide your approach, then reveal the optimal idea and complexity.
problem-bankleetcodedrills - Blind 75 — Pattern WalkthroughChecklist
The famous list, reorganized by pattern with the key insight for each problem — so you learn 15 ideas, not 75 answers.
blind-75problem-listinterview-prep - Mock-Interview DrillsTraining
Timed drill formats, the UMPIRE protocol, a self-scoring rubric, and how to practice the talking — because the interview tests narration, not just code.
mock-interviewpracticeinterview-prep - Algorithms In My Projects
The real algorithms inside LandAI, StockVision and StockStump — the DSA primitive under each, its complexity, and how to explain it when an interviewer drills into your project.
appliedcomplexityprojects