# 9.16. Depth First Search AnalysisΒΆ

The general running time for depth first search is as follows. The loops
in `dfs`

both run in \(O(V)\),
not counting what happens in `dfsvisit`

, since they are executed once
for each vertex in the graph. In `dfsvisit`

the loop is executed once for each edge in the adjacency
list of the current vertex. Since `dfsvisit`

is only called
recursively if the vertex is white, the loop will execute a maximum of
once for every edge in the graph or \(O(E)\). So, the total time
for depth first search is \(O(V + E)\).