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 - 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 - Bit ManipulationCore pattern
The operator alphabet, the handful of identities that actually win interviews (XOR cancellation, x & (x-1), x & -x), and the bitmask bridge into subset DP — leveled from SDE-1 warm-ups to Staff-level XOR puzzles.
bit-manipulationxorbitmaskmath - Math & Number Theory for CodingCore pattern
The math interviews actually test: GCD/Euclid, modular arithmetic and the 1e9+7 convention, fast exponentiation, the sieve and primality, nCr mod p, and the overflow traps — the toolkit behind half of LeetCode's medium math tags.
mathnumber-theorymodular-arithmetic - 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 - Advanced Graphs — Dijkstra, Bellman-Ford, Floyd-Warshall & MSTAdvanced pattern
Past BFS/DFS: every weighted-graph algorithm you need — Dijkstra, Bellman-Ford, Floyd-Warshall, Kruskal, Prim — each explained with Why → How → When → Code in Python, Java, and C++. Includes a decision table for picking the right algorithm under interview pressure.
graphsshortest-pathdijkstrabellman-fordfloyd-warshallMSTkruskalprim - 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 - 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 - Concurrency Coding ProblemsAdvanced pattern
The multithreading round that isn't really DSA: locks, semaphores and condition variables, then the classics — producer-consumer, readers-writers, dining philosophers — plus the deadlock conditions and how to avoid them.
concurrencythreadssynchronizationdeadlock - 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 - Company Question Bank — Who Asks WhatChecklist
The interview funnel (DSA → LLD → HLD) mapped to each company's house style and recently-reported question patterns — so you prep for the round you'll actually get, not a generic list.
companyinterview-prepproblem-listroadmap - 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