Mental Model
We visit each node and all its dependencies first, then add the node to the order. This way, nodes come after their prerequisites.
Analogy: Imagine you have tasks to do, but some tasks depend on others. You finish all tasks needed first before doing the dependent task, like stacking books where the bottom ones must be placed first.
Graph: A -> B -> C ā ā D E We want an order where each arrow points from an earlier task to a later one.
