Unit 1 · Foundational
Foundations and Analysis
The vocabulary for comparing solutions. Without asymptotic reasoning every later unit collapses into opinion about which approach feels faster.
Data Structures & Algorithms Study Guide
Eight units from asymptotic analysis through the core structures to greedy, dynamic programming, and complexity classes. Each unit explains what to know, how to apply it, what typically goes wrong, and one study move that makes the material stick.
Eight units
Foundations and analysis, array and string patterns, linear structures, hashing and heaps, trees, graphs, sorting, then algorithm design.
No single exam
Assessment is by implementation, timed problem solving, and explanation, mirroring how the material is used later.
Prerequisite
Comfortable programming in one language, including arrays, loops, and recursion.
Where it leads
University data structures courses, competitive programming, and technical interviews.
Units
Unit 1 is the largest by a wide margin. The rest move faster, and the last one is the bridge into calculus.
Unit 1 · Foundational
The vocabulary for comparing solutions. Without asymptotic reasoning every later unit collapses into opinion about which approach feels faster.
Unit 2 · Highest leverage
The four patterns that solve a disproportionate share of problems. Recognising which one applies is worth more than any amount of implementation speed.
Unit 3 · Moderate
Structures defined by a restriction. The restriction is what makes each one fit a specific class of problem, so recognising the fit is the skill rather than the implementation.
Unit 4 · Heavy
Two structures that trade ordering for speed. Hashing gives constant average lookup by abandoning order entirely; a heap keeps only enough order to expose the extreme element.
Unit 5 · Heavy
Ordering that supports fast search, but only while the shape stays balanced. The caveat is the unit, and self-balancing structures exist entirely to enforce it.
Unit 6 · Heavy
The most general structure, and the one where representation choice changes the complexity of everything built on it. Many problems that do not look like graphs become easy once modelled as one.
Unit 7 · Moderate
A small set of algorithms used as a lens for comparing time, space, and stability. The comparison matters more than any single implementation.
Unit 8 · Culminating
Choosing a strategy rather than a structure. The central discrimination is when a greedy choice is provably safe and when overlapping subproblems force a table instead.
Mathematical Practices
Four habits this track assesses: classifying the problem, stating the complexity, testing degenerate input, and explaining the approach aloud.
Most problems belong to a small number of patterns. Asking whether this is a two-pointer, sliding-window, hashing, or graph problem before writing anything saves more time than any coding speed.
Say the time and space cost, and which case you mean, before you consider a solution finished. If you cannot state it, you do not yet understand your own solution.
Empty input, one element, all duplicates, already sorted. These break more submitted solutions than any interesting case does.
A solution you can implement but not explain will fail an interview and usually hides a gap. Narrate the approach before writing the code.
Assessment
Two lists: one for selected-response work, one for anything you have to write out.
Study plan
Four moves, in the order that pays off.
Insertion, deletion, search, and access for every structure, with the case. This table is the vocabulary for everything else and is worth rote learning.
Prefix sums, two pointers, sliding window, and binary search cover a large share of problems. Recognising them on sight is the highest-leverage skill in the course.
Write a stack, queue, hash map, binary search tree, and heap from scratch. Nothing else builds the same intuition for their trade-offs.
For every problem you solve, say the approach aloud in under a minute. This is a separate skill from solving and it is assessed separately.
Knowing when a greedy choice is safe, and when overlapping subproblems force a table, is the main discrimination of the final unit.
Practising one pattern at a time hides the real difficulty, which is recognising which pattern applies with no label attached.
Curriculum scope
Every unit answers the same two questions: what does this structure make cheap, and what does it make expensive. Choosing correctly is the skill; implementing is the exercise. The course therefore asks constantly for a justification rather than a working program alone.
Essential foundations
Included in this sequence
Compare with the school syllabus
Glossary
Amortised cost
The average cost per operation across a sequence, used when one operation is occasionally expensive.
Monotonic
Consistently non-increasing or non-decreasing, which is the property two pointers and answer-space binary search rely on.
Load factor
Entries divided by buckets in a hash table, which predicts collision frequency.
Stability
A sort is stable when equal keys keep their original relative order.
In place
Using only constant extra space beyond the input.
Optimal substructure
An optimal solution is built from optimal solutions to subproblems.
Greedy choice property
The locally best choice leads to a globally optimal solution, which must be proved rather than assumed.
Memoization
Caching subproblem results on demand during a recursion.
Tabulation
Filling a table of subproblem results in dependency order.
NP-complete
In NP and at least as hard as everything in NP, with no known polynomial algorithm.