Arrays and Dynamic Arrays
Contiguous indexed storage, resizing, amortized append, and shifting costs.
Contiguous indexed storage, resizing, amortized append, and shifting costs.
Understand search-tree queries, rotations, and successor deletion, then use red-black invariants to bound height and compare ordered containers.
A representation-first map for choosing containers by operations, invariants, and memory behavior.
Compare storage and operation costs on one small graph, handle duplicates, self-loops, and isolated vertices, and choose a representation for each algorithm.
Understand key constraints, collision handling, load, and expected and amortized costs through a trace with deletion and rebuilding.
A comparison of contiguous sequences, linked nodes, stacks, and queues.
Node-linked sequences, local splicing, traversal costs, and ownership invariants.
FIFO processing through deques, linked endpoints, and circular buffers.
The LIFO interface, implementation choices, and algorithmic invariants it expresses.