Specifically, we will end up looking at every edge exactly once.
This means we can determine whether there is a cycle (and find one if it exists) in time $O(n + e)$, where $n$ is the number of vertices and $e$ is the number of edges.A Directed Acyclic Graph is called a "DAG", and these graphs have lots of important applications in computer science. We looked at two important ones
Theorem: Given graph $G$, if a full depth-first search of $G$ is performed, and the vertices of $G$ are ordered in the reverse of the order in which they are colored black during the search (i.e. $u$ comes before $v$ only if $u$ was colored black later than $v$), then all edges in the graph aer oriented from vertices earlier in the order to vertices later in the order.
An ordering like this is called a "topological sort" of the graph. Of course, this is only possible for DAGs. We talked about the importance of topological sort in producing schedules for tasks with ordering constraints defined by a DAG.