From 580c9fab3384dd78ff9570e787e45357b4d5f158 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Mon, 24 Aug 2026 20:02:11 -0400 Subject: [PATCH] Use an uncorrupted classes picture and update the document --- notes-and-examples/2026.08.27/classes.png | Bin 13499 -> 28542 bytes .../2026.08.27/topological_sort.md | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/notes-and-examples/2026.08.27/classes.png b/notes-and-examples/2026.08.27/classes.png index 8ca3fbc994272e0b1d0184af6c6f16d930f74013..735b601812824466d69ac18601c00d4e9de54a67 100644 GIT binary patch literal 28542 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ℑ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 Yo=>v>nAmkP1;~cn)Y8{1xCVRrZ?B*!sQ>@~ diff --git a/notes-and-examples/2026.08.27/topological_sort.md b/notes-and-examples/2026.08.27/topological_sort.md index eeca5ac..be6ca62 100644 --- a/notes-and-examples/2026.08.27/topological_sort.md +++ b/notes-and-examples/2026.08.27/topological_sort.md @@ -3,9 +3,12 @@ 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) +![An ordering of classes for Chapman University.](./classes.png) -> [!QUESTION] What type of graph is this? +This is a *directed acyclic graph*, or DAG. + +- Directed: edges point from one node to another, not necessarily the other way around +- Acyclic: there are no *cycles* in the graph 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