Data Structures
What you store things in, what each one costs, and how to justify the choice out loud.
8 topics
Arrays and dynamic arrays
Contiguous memory with constant-time indexing, and the resize-and-shift costs that make it the wrong shape for queues.
core20 minHash tables
Average-case constant lookup bought with a hash function, spare capacity, and a collision strategy — plus the worst case everyone forgets.
core25 minLinked structures, stacks, and queues
The two access disciplines that show up everywhere in real systems, and the honest case for and against linked lists.
core20 minTrees and traversal
Hierarchies, the four ways to walk them, and why balance is the difference between logarithmic and linear.
core25 minHeaps and priority queues
The structure that answers "what's the smallest right now?" in constant time and keeps answering it as data changes.
core20 minGraphs and representations
Nodes and edges, the two ways to store them, and why recognising a problem as a graph is most of the work.
core25 minTries and prefix search
The structure behind autocomplete — lookup proportional to the length of the key, not the size of the dictionary.
deep20 minChoosing a data structure
The decision procedure that turns a vague problem into a structure choice you can defend in one sentence.
core20 min