Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Use this table to connect the CS2040HS course sequence with the corresponding topics in this book. Course week numbers and book topic numbers follow different sequences. Weeks 7 and 8 are omitted.

WeekTitle / coverageCorresponding DSA Concepts topic
1Python for data structures: objects, references, mutation, classes and connected nodes1. Foundations and Python’s object model; 5. Sequences, stacks, queues and deques — linked structures
2Algorithm analysis: operation counts, cases, asymptotic bounds, time and space2. Analysing algorithms
3Recursion, divide-and-conquer and merge sort3. Recursion and divide-and-conquer; 4. Sorting
4Sorting strategies: insertion sort, bubble sort, partitioning, quicksort and comparison bounds4. Sorting
5Abstract data types and linear structures: sequences, stacks, queues, deques, arrays and linked implementations5. Sequences, stacks, queues and deques
6Maps, sets, hashing, collision resolution and performance6. Maps, sets and hashing
9Binary search and binary search trees: construction, traversal, search, insertion and deletion7. Searching and binary search trees
10AVL trees and binary heaps; additional asynchronous lesson on k-d trees8. Balanced search trees; 10. Priority queues and heaps; 9. Spatial search and indexing — k-d tree sections
11Graph concepts, representations, breadth-first search and depth-first search11. Graphs and traversal
12DAGs, topological sorting and shortest paths; additional asynchronous lesson on union–find13. Graph ordering, paths and spanning trees — topological ordering and shortest paths; 12. Union–find and disjoint sets
13Minimum spanning trees: Prim, Kruskal, correctness, costs and course consolidation13. Graph ordering, paths and spanning trees — spanning trees, Prim and Kruskal; 12. Union–find and disjoint sets — supporting Kruskal

For prerequisites and alternative study sequences, see Reading routes and prerequisites. For language conventions and runnable examples, see Reading the code in three languages.