DSA Roadmap

Data structures and algorithms are how engineers think about problems: choose a representation, design a procedure, prove it correct, and predict its cost. This roadmap teaches that thinking in Go, from a first loop invariant to production structures such as LRU caches and concurrent maps, with small examples in every lesson and larger runnable demos in the code viewer.

Scope: Five phases from beginner to expert. Study the lessons in order, run every demo locally with go run file.go (Go 1.23 or newer), and complete each lesson's Practice Lab before moving on.

DSA Study Progress

0% Complete
# DSA Topic Description
PHASE 1: FOUNDATIONS
01Thinking in AlgorithmsSpecify, work examples, brute force first, loop invariants, and table-driven tests.
02Complexity AnalysisBig O, Omega, Theta, reading cost from code, amortized cost, and doubling experiments.
03Recursion & the Call StackBase case and reduction, stack frames, recurrences, and converting recursion to loops.
04Data Structures MapGo arrays, slices, maps, stdlib containers, a cost catalog, and choosing a structure.
PHASE 2: CORE DATA STRUCTURES
05Arrays & SlicesSlice internals, two pointers, sliding window, and prefix sums.
06Linked ListsSingly and doubly linked lists, sentinel nodes, reversal, and cycle detection.
07Stacks & QueuesStacks, queues, ring buffers, deques, and monotonic stacks.
08Hash TablesHash functions, collisions, a map from scratch, and counting patterns.
09Binary Trees & BSTTraversals, recursive tree thinking, and binary search tree operations.
10Heaps & Priority QueuesBinary heaps, container/heap, top-k, and k-way merge.
PHASE 3: CORE ALGORITHMS
11SearchingLinear and binary search, lower/upper bounds, and binary search on the answer.
12SortingElementary sorts, merge sort, quicksort, counting and radix sort, stability.
13Graph TraversalRepresentations, BFS, DFS, topological sort, and union-find.
14Shortest Paths & MSTDijkstra, Bellman-Ford, A*, and Kruskal/Prim spanning trees.
PHASE 4: ADVANCED ALGORITHMS
15Greedy AlgorithmsLocal choices, exchange arguments, intervals, and Huffman coding.
16Dynamic ProgrammingMemoization, tabulation, state design, and classic DP problems.
17BacktrackingSubsets, permutations, N-Queens, constraint search, and pruning.
18Advanced TreesBalanced trees, tries, segment trees, and Fenwick trees.
19String AlgorithmsKMP, rolling hash, tries in practice, and suffix arrays.
20Advanced TechniquesBit manipulation, randomized algorithms, Bloom filters, and HyperLogLog.
21Production StructuresLRU cache, rate limiter, consistent hashing, and concurrent structures in Go.
PHASE 5: PRACTICE & REFERENCE
22Demo ExamplesRunnable, commented Go programs for every phase, in the code viewer.
23Study ProjectsOpen-source Go projects to read and contribute to: algorithm collections, caches, storage engines, and more.
24ReferencesGo documentation and playgrounds, visualizers, free and classic books, practice sites, and key papers.

This tutorial was realized with Claude Code: Sonnet 5.5.