Skip to main content
← Your learning roadmap

Every idea has a place.

Explore 227 connected concepts. Start with an available lesson, then try its practice on the roadmap. You can still practise topics whose lessons are coming soon.

Arrays, Strings & Pointer Scans

Contiguous memory, dynamic resizing, grids, two/three pointers, sliding windows, and prefix arrays.

  • Big-O Growth & RAM Memory LayoutComing soon
  • Static ArrayComing soon
  • Dynamic ArrayComing soon
  • String & Character SequencesComing soon
  • Matrix & 2-D GridComing soon
  • Two PointersComing soon
  • Three Pointers & Dutch FlagComing soon
  • Sliding WindowComing soon
  • Prefix-Sum ArrayComing soon
  • Difference ArrayComing soon
  • 2-D Prefix (Summed-Area) TableComing soon

Linked Lists, Stacks & Queues

Pointer chains, LIFO/FIFO frontiers, ring buffers, monotonic stacks/deques, and composite stacks.

  • Singly Linked ListComing soon
  • Doubly Linked ListComing soon
  • Circular Linked ListComing soon
  • Fast & Slow Pointers (Floyd’s Tortoise & Hare)Coming soon
  • Random-Pointer & Multilevel Linked ListsComing soon
  • Stack (LIFO)Coming soon
  • Min StackComing soon
  • Monotonic StackComing soon
  • Queue (FIFO)Coming soon
  • Queue from Two StacksComing soon
  • Ring Buffer (Circular Queue)Coming soon
  • Deque (Double-Ended Queue)Coming soon
  • Monotonic DequeComing soon

Bitsets, Hashing, Maps & Sets

Bitwise masks, collision buckets, hash maps/sets, counters, multisets, and O(1) randomized containers.

  • Bitset & Bitwise OperationsComing soon
  • Direct-Address Table & Frequency ArrayComing soon
  • Hash Functions & Hash TablesComing soon
  • Hash Map (Dictionary)Coming soon
  • Hash SetComing soon
  • Frequency Map / CounterComing soon
  • Bucket ArrayComing soon
  • Multiset (Bag)Coming soon
  • MultimapComing soon
  • Insertion-Ordered (Linked) Hash MapComing soon
  • Randomized Set (`O(1)` Insert, Delete & Sample)Coming soon
  • Randomized Collection with DuplicatesComing soon
  • Cuckoo HashingComing soon

Recursion, Call Stack & Divide-and-Conquer

Activation frames, base cases, recursive leap of faith, stack-to-loop conversion, and divide-and-conquer recurrence trees.

  • Recursion Call Stack & FramesComing soon
  • Base Cases & Recursive Leap of FaithComing soon
  • Tail Recursion & Explicit Stack ConversionComing soon
  • Divide & Conquer DecompositionComing soon
  • Recurrence Trees & Master Theorem IntuitionComing soon

Sorting Algorithms

Every core sort unpacked individually: Bubble, Selection, Insertion, Gnome, Merge, Heap, Quick, and Timsort.

Binary Search, Sweep Line & Intervals

Halving monotonic spaces, lower/upper bounds, coordinate compression, merging intervals, and sweep lines.

  • Binary Search (Exact Lookup)Coming soon
  • Lower Bound & Upper Bound (`bisect`)Coming soon
  • Binary Search on Answer SpaceComing soon
  • Coordinate CompressionComing soon
  • Merging & Intersecting IntervalsComing soon
  • Sweep Line & Event SortingComing soon
  • Disjoint Interval SetComing soon

Trees, BSTs & Balanced Search Trees

Binary/N-ary trees, BSTs, AVL & Red-Black rotations, Treaps, Skip Lists, Interval Trees, and Binary Lifting.

  • Binary Tree & DFS/BFS TraversalsComing soon
  • N-ary Tree & Rooted ForestComing soon
  • Parent Array RepresentationComing soon
  • Binary Lifting & Lowest Common Ancestor (LCA)Coming soon
  • Binary Search Tree (BST)Coming soon
  • Ordered Map & Ordered SetComing soon
  • AVL Tree & RotationsComing soon
  • Red-Black TreeComing soon
  • Treap (Tree + Heap)Coming soon
  • Skip ListComing soon
  • Order-Statistic TreeComing soon
  • Interval TreeComing soon
  • Rope (Text Chunk Tree)Coming soon
  • Preorder, Inorder & Postorder TraversalComing soon

Heaps, Priority Queues & Streams

Array-backed binary heaps, Top-K gatekeepers, two-heap medians, indexed heaps, and meldable heap forests.

  • Binary Heaps, Priority Queues & Top-KStart lesson →
  • Priority Queue Contract & Tie-BreakingComing soon
  • Streaming Median with Two HeapsComing soon
  • Indexed Priority Queue (`decrease-key`)Coming soon
  • Double-Ended Priority Queue (Min-Max Heap)Coming soon
  • Binomial HeapComing soon
  • Pairing HeapComing soon
  • Fibonacci HeapComing soon
  • Quickselect & Order StatisticsComing soon

Graphs, Traversal & Union-Find

Adjacency models, implicit grids, BFS/DFS, DAG topological order, Union-Find (DSU), MSTs, and SCCs.

  • Graph Models: Undirected, Directed & WeightedComing soon
  • Adjacency ListComing soon
  • Adjacency Matrix & Edge ListComing soon
  • Implicit Grid GraphComing soon
  • Breadth-First Search (BFS) & Multi-Source BFSComing soon
  • Depth-First Search (DFS) & 3-Color Cycle DetectionComing soon
  • Directed Acyclic Graphs (DAGs) & Topological SortComing soon
  • Disjoint Set / Union-Find (DSU)Coming soon
  • Weighted Disjoint SetComing soon
  • Rollback Disjoint SetComing soon
  • Minimum Spanning Trees (Kruskal & Prim)Coming soon
  • Tarjan’s SCCs, Bridges & Articulation PointsComing soon

Caching, Eviction & Stampedes

Cache hits/misses, LRU, FIFO, LFU frequency buckets, TTL invalidation, and singleflight stampede control.

  • Cache Hits, Misses & FIFO EvictionComing soon
  • LRU Cache & Eviction PoliciesStart lesson →
  • LFU Cache & TinyLFU AdmissionComing soon
  • Cache Invalidation, TTL & Stale-While-RevalidateComing soon
  • Cache Stampede & Singleflight CoalescingComing soon

Probabilistic Filters & Sketches

Approximate membership, distinct counts, frequency estimates, and similarity signatures with explicit error tradeoffs.

  • Bloom FiltersStart lesson →
  • Counting Bloom FilterComing soon
  • Cuckoo FilterComing soon
  • Count-Min SketchComing soon
  • HyperLogLog (Distinct Cardinality)Coming soon
  • Quotient FilterComing soon
  • Xor FilterComing soon
  • Binary Fuse FilterComing soon
  • Blocked Bloom FilterComing soon
  • MinHash & Jaccard SimilarityComing soon
  • SimHash & Angular SimilarityComing soon
  • Probability, Hashing & Sketch ErrorComing soon

Shortest Paths & Heuristic Search

Weighted frontier relaxations: Dijkstra, 0-1 BFS, Bellman-Ford, Floyd-Warshall, minimax paths, and A* Search.

Backtracking & Dynamic Programming

Call stacks, pruned search trees, memo tables, 1-D/2-D DP, Knapsack, Tree DP, and Bitmask DP.

  • Backtracking & Decision Search TreesComing soon
  • Sparse Memoization Table (Top-Down DP)Coming soon
  • DP Table & 1-D Dynamic ProgrammingComing soon
  • 0/1 & Unbounded Knapsack DPComing soon
  • 2-D Grid & Sequence DP (LCS & Edit Distance)Coming soon
  • Longest Increasing Subsequence (O(n log n))Coming soon
  • Interval DP & Rerooting Tree DPComing soon
  • Bitmask DP (TSP & Subset States)Coming soon

Tries, String Automata & Range Trees

Tries, Rolling Hash, KMP, Aho-Corasick, Suffix Arrays/Trees, Fenwick Trees, and Lazy/Persistent Segment Trees.

  • Trie (Prefix Tree)Coming soon
  • Binary / Bitwise Trie (Maximum XOR)Coming soon
  • Radix Tree & Ternary Search TreeComing soon
  • Rolling Hash & Rabin-KarpComing soon
  • KMP & Z-Algorithm (Exact Linear Matching)Coming soon
  • Aho-Corasick Multi-Pattern AutomatonComing soon
  • Suffix Array & Kasai’s LCP ArrayComing soon
  • Suffix Tree & Suffix Automaton (SAM)Coming soon
  • Sparse Table (Static `O(1)` RMQ)Coming soon
  • Fenwick Tree (Binary Indexed Tree)Coming soon
  • 2-D Fenwick TreeComing soon
  • Segment TreeComing soon
  • Lazy Propagation Segment TreeComing soon
  • Implicit & Persistent Segment TreesComing soon
  • 2-D Segment TreeComing soon
  • Sparse Matrix (COO & Compressed Sparse Row)Coming soon

Storage Engines, Vector Search & Distributed CS

B/B+ Trees, WAL, LSM Trees & SSTables, Consistent Hashing, Rate Limiting, Spatial Trees, and HNSW Vector Search.

  • B-Tree (Page-Oriented Multiway Search)Coming soon
  • B+ Tree (Database Clustered & Secondary Indexes)Coming soon
  • Write-Ahead Log (WAL) & Crash RecoveryComing soon
  • LSM Trees, SSTables & CompactionComing soon
  • Consistent Hashing & Virtual NodesComing soon
  • Rate Limiting: Token Bucket, Leaky Bucket & Sliding LogComing soon
  • k-d Tree (Multidimensional Splitting)Coming soon
  • Quadtree & R-Tree (Spatial & Geo Indexes)Coming soon
  • Spatial Hash Grid & GeohashComing soon
  • Vector Indexing: Flat k-NN, IVF, PQ & HNSWStart lesson →
  • Replicated Logs & Raft Leader ConsensusComing soon

Greedy Algorithms & Essential Math

Greedy choices, interval scheduling, exchange arguments, bit operations, GCD, modular arithmetic, and fast exponentiation.

  • Greedy Choices & Loop InvariantsComing soon
  • Exchange Arguments for Greedy ProofsComing soon
  • Interval SchedulingComing soon
  • Bit Manipulation & XOR PatternsComing soon
  • Euclidean GCD & Least Common MultipleComing soon
  • Modular ArithmeticComing soon
  • Binary ExponentiationComing soon
  • Sieve of EratosthenesComing soon
  • Combinatorics & CountingComing soon
  • Reservoir SamplingComing soon

Streaming Statistics & Quantile Sketches

Heavy hitters, distinct-set estimation, quantiles, relative error, and weighted sampling under bounded memory.

  • Streaming Models & Error GuaranteesComing soon
  • Count SketchComing soon
  • Misra–Gries Frequent ItemsComing soon
  • Space-Saving Heavy HittersComing soon
  • K-Minimum Values Distinct SketchComing soon
  • Theta Sketch & Set OperationsComing soon
  • Compressed Probabilistic CountingComing soon
  • KLL Quantile SketchComing soon
  • Relative Error Quantiles SketchComing soon
  • t-DigestComing soon
  • DDSketchComing soon
  • VarOpt Weighted SamplingComing soon

Network Flow, Cuts & Matching

Residual networks, augmenting paths, Dinic, bipartite matching, assignment, and minimum-cost flow.

  • Flow Networks & Residual EdgesComing soon
  • Ford–Fulkerson Augmenting PathsComing soon
  • Edmonds–Karp Maximum FlowComing soon
  • Dinic's Blocking-Flow AlgorithmComing soon
  • Max-Flow Min-Cut & ReductionsComing soon
  • Bipartite Matching & Alternating PathsComing soon
  • Hopcroft–Karp MatchingComing soon
  • Minimum-Cost FlowComing soon
  • Hungarian Assignment AlgorithmComing soon

Computational Geometry

Orientation predicates, segment intersections, polygon queries, convex hulls, closest pairs, and planar diagrams.

  • Orientation & Robust Geometric PredicatesComing soon
  • Line Segment IntersectionComing soon
  • Shoelace Polygon AreaComing soon
  • Point-in-Polygon QueriesComing soon
  • Convex Hull: Monotone ChainComing soon
  • Rotating CalipersComing soon
  • Closest Pair of PointsComing soon
  • Sweep-Line Segment IntersectionsComing soon
  • Voronoi DiagramsComing soon
  • Delaunay TriangulationComing soon

Advanced String Algorithms & Compressed Indexes

LCP queries, palindromes, induced suffix sorting, wavelet trees, Burrows-Wheeler transforms, and FM indexes.

  • LCP Array & Suffix ComparisonsComing soon
  • Manacher's Palindrome AlgorithmComing soon
  • Palindromic Tree (Eertree)Coming soon
  • Burrows–Wheeler TransformComing soon
  • Wavelet Tree & Rank/SelectComing soon
  • FM-Index & Backward SearchComing soon
  • SA-IS Induced Suffix SortingComing soon
  • Bit-Parallel String MatchingComing soon

Advanced Trees & Offline Queries

Euler tours, LCA, heavy-light and centroid decomposition, rerooting, small-to-large merging, and dynamic forests.

  • Euler Tour & Subtree FlatteningComing soon
  • Lowest Common Ancestor QueriesComing soon
  • Heavy-Light DecompositionComing soon
  • Centroid DecompositionComing soon
  • Rerooting Dynamic ProgrammingComing soon
  • Small-to-Large Set MergingComing soon
  • Mo's Offline Range QueriesComing soon
  • Splay TreeComing soon
  • Link-Cut TreesComing soon
  • Virtual Trees for Marked NodesComing soon

Advanced DP, Convolution & Transforms

Meet-in-the-middle search, conditional DP optimizations, line envelopes, polynomial convolution, FFT, and subset transforms.

  • Meet-in-the-Middle SearchComing soon
  • Divide-and-Conquer DP OptimizationComing soon
  • Knuth OptimizationComing soon
  • Convex Hull TrickComing soon
  • Li Chao Segment TreeComing soon
  • Polynomial ConvolutionComing soon
  • Fast Fourier TransformComing soon
  • Number-Theoretic TransformComing soon
  • Subset Zeta & Möbius TransformsComing soon

Compression & Information Coding

Run-length and delta encoding, Huffman codes, arithmetic coding, and Lempel-Ziv dictionary methods.

  • Run-Length EncodingComing soon
  • Huffman Prefix CodesComing soon
  • Arithmetic CodingComing soon
  • LZ77 Sliding-Window CompressionComing soon
  • LZW Dictionary CompressionComing soon
  • Delta & Variable-Length Integer EncodingComing soon