Blog
Deep dives into algorithms, data structures, and engineering problems — with explanations, visualizations, and code.
25 articles across 10 topics
Stacks & Queues
2LIFO and FIFO patterns — monotonic structures for range queries and sliding window problems.
Data Structure Internals
3How foundational data structures actually work under the hood — hashing, heaps, and union-find.
Tree Data Structures
3Tries, balanced BSTs, and segment trees for efficient querying and prefix operations.
Fundamental Algorithms
3The building blocks — sorting, searching, and graph traversals that everything else builds on.
Graph Algorithms
6Shortest paths, spanning trees, flow networks, and connectivity — the heavy hitters of competitive programming.
Shortest Path (Dijkstra, Bellman-Ford, Floyd-Warshall)
Single-source and all-pairs shortest path algorithms
Minimum Spanning Tree (Kruskal, Prim)
Greedy algorithms for minimum cost connectivity
Strongly Connected Components (Tarjan, Kosaraju, 2-SAT)
DFS-based decomposition and boolean satisfiability
Articulation Points & Bridges (Cut Vertices, Biconnected Components)
Finding critical nodes and edges in undirected graphs
Network Flow (Max-Flow, Min-Cut, Bipartite Matching)
Ford-Fulkerson, Dinic's algorithm, and Hungarian method
Euler & Hamilton Paths (Hierholzer, Held-Karp)
Circuit finding and TSP via bitmask DP
String Algorithms
1Pattern matching and string processing with linear-time guarantees.
Problem-Solving Paradigms
2DP, recursion, and backtracking — the thinking frameworks behind hard problems.
Interval Techniques
1Sorting + greedy logic for merge, insert, overlap, and scheduling problems.
Encoding & Transformation
1Converting data structures to flat representations and back — serialization for trees, strings, and arrays.
Theory & Mathematics
3Complexity theory, combinatorics, number theory, and the math that powers algorithms.