Mental Model
We find an order to do tasks so that all dependencies come before the task itself. We start with tasks that have no dependencies and remove them step by step.
Analogy: Imagine you have to bake a cake but need to prepare ingredients first. You start with ingredients that don't depend on anything else, then use them to prepare the next steps, until the cake is ready.
Graph nodes with arrows showing dependencies: A -> B -> C ā D Start with nodes having no incoming arrows (no dependencies).
