수색…


깊이 우선 탐색 탐색 함수

이 함수는 현재 노드 색인, 인접 목록 (이 예에서는 벡터 벡터에 저장 됨) 및 부울 벡터를 인수로 사용하여 어떤 노드가 방문되었는지 추적합니다.

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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow