跳至內容

演算法實現/圖/深度優先搜尋

來自華夏公益教科書,開放世界的開放書籍

用 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);
    }
}
華夏公益教科書