< Algorithm Implementation < Graphs 
 
        
      In C++:
/*
   Depth-first search
   running time is O(|E|+|V|)
   g - adjacency list
   used - bool array, to check if node is visited
vector<vector<int>> g;
vector<bool> used;
void dfs(int v) {
    used[v] = true;
    // ...
    for (int &to:g[v]) {
        //...
        if(!used[to])
            dfs(to);
    }
}
    This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.