How the choice of algorithm and data structure decides whether code scales, and how to read that from the code before it meets real data.
- Big-O and Growth Rates
- Describing how time and memory grow with input size, and which growth rates are acceptable at which sizes.
- Core Data Structures
- Arrays, hash maps, sets, trees, heaps and queues, and the operations each one makes cheap or expensive.
- Searching and Sorting
- Binary search and the common sorting algorithms, and when the built-in versions are the right answer.
- Graph Algorithms
- Breadth-first and depth-first search, shortest paths and topological sort applied to real routing and dependency problems.
- Recursion and Dynamic Programming
- Recognizing when a problem repeats subproblems, so you can tell an exponential agent solution from a linear one without writing the table by hand.
- Constant Factors and Practical Cost
- Why memory layout, constant factors and real input sizes sometimes matter more than the Big-O class.