Map of content for data structures and algorithms — how to organize data so that operations on it are efficient. The path: foundations → linear structures → trees → hash tables → sorting/searching → graphs.

Foundations

The C and analysis prerequisites.

Linear data structures

One element at a time, ordered.

Trees

Hierarchical structures.

Hash tables

Constant-time access by key.

Sorting

Ordering a sequence.

Searching

Finding an element.

Graphs

Vertices and edges; the most general structure.

Graph traversal

Visiting every reachable vertex.

Shortest paths and spanning trees

Optimization on weighted graphs.


Connects to Computer architecture (the runtime stack, virtual memory) and to Differential equations only loosely (graph algorithms appear in network analysis, but the math is different).