Recherche…


Depth First Search Fonction traversale

La fonction prend l'argument de l'index de nœud actuel, la liste de contiguïté (stockée dans le vecteur de vecteurs dans cet exemple) et le vecteur de booléen pour garder la trace du nœud qui a été visité.

void dfs(int node, vector<vector<int>>* graph, vector<bool>* visited) {
    // check whether node has been visited before
    if((*visited)[node])
        return;

    // set as visited to avoid visiting the same node twice
    (*visited)[node] = true;

    // perform some action here
    cout << node;

    // traverse to the adjacent nodes in depth-first manner
    for(int i = 0; i < (*graph)[node].size(); ++i)
        dfs((*graph)[node][i], graph, visited);
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow