Add notes on the topic

This commit is contained in:
2026-08-20 21:53:08 -04:00
parent 8d50900eaa
commit 5920408271
4 changed files with 33 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
## Class ordering
These are some classes for Chapman University, for
the [computer science program](https://catalog.chapman.edu/preview_program.php?catoid=33&poid=6408&print).
![An ordering of classes for Chapman University.](classes.png)
> [!QUESTION] What type of graph is this?
We say that a class is a *prerequisite* or a *dependency* of another class
if we need to take it before that other class. So, we need to take CPSC 230
before CPSC 231, for example.
Could you come up with something like this for your school?
## The algorithm
If you were to come up with a list of classes, such that the list of classes
is in the order which you need to take them, what would that look like?
This order is what we're trying to achieve with the topological sort
algorithm. Note that there can be multiple correct solutions.
## The exercise
Let's write the algorithm. First, test it against the Chapman classes, then
put in your classes and see how it fares against that.