algorithm
Przemieszczenia wykresów
Szukaj…
Głębokość Funkcja pierwszego wyszukiwania
Funkcja pobiera argument bieżącego indeksu węzła, listy przyległości (przechowywanej w wektorze wektorów w tym przykładzie) i wektora wartości logicznej, aby śledzić, który węzeł został odwiedzony.
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow