Blog

Notes on data structures & algorithms, system design, and things I learn along the way.

Learning DSA? Follow the structured path — ordered articles from recursion to dynamic programming.→
July 13, 2026Stacks and Queues: Two Rules That Run Your Whole Program5 min read

LIFO and FIFO look trivial until you notice they power your call stack, undo history, browser navigation, and every BFS. Plus the classic interview patterns for each.

#DSA
July 13, 2026Topological Sort: Putting Dependencies in Order5 min read

Build systems, package managers, and course schedulers all answer the same question: what order satisfies every dependency? Kahn's algorithm answers it — and detects impossible cycles.

#DSA
July 13, 2026Union-Find: Connectivity in (Almost) Constant Time5 min read

The disjoint set union structure answers 'are these two connected?' in near-O(1) — with two optimizations you can write in twenty lines. Includes Kruskal's MST and cycle detection.

#DSA
July 12, 2026Consistent Hashing: Scaling Without Reshuffling Everything4 min read

Why `hash % N` falls apart the moment you add a server, and how consistent hashing moves only a fraction of your keys when the cluster changes.

#System Design
July 12, 2026Generators and Iterators: Functions That Pause4 min read

The protocol behind for...of, the spread operator, and async/await — plus generator functions, which can pause mid-execution and resume exactly where they left off.

#JavaScript
July 11, 2026Bit Manipulation Fundamentals3 min read

The operators every developer half-remembers — AND, OR, XOR, shifts — and the handful of tricks that turn them into fast, elegant solutions.

#DSA
July 11, 2026Tries: Searching by Prefix4 min read

The data structure behind autocomplete and spellcheck. How a trie stores words as shared character paths, and why lookups cost the length of the word — not the size of the dictionary.

#DSA
July 10, 2026Heaps and the Priority Queue4 min read

How a heap keeps the smallest (or largest) element one lookup away, why it's stored in a plain array, and the sift-up/sift-down operations that keep it valid.

#DSA
July 10, 2026Linked Lists and Floyd's Cycle Detection3 min read

Why linked lists still matter, and the two-pointer trick that detects a loop in one pass with no extra memory — the famous tortoise and hare.

#DSA
July 9, 2026Dynamic Programming: From Memoization to Tables3 min read

DP is not a scary black box — it's recursion that stops repeating itself. Follow one problem from exponential recursion to a linear table, one cell at a time.

#DSA

148 posts · page 13 of 15