Untitled
unknown
plain_text
2 years ago
797 B
0
Indexable
Never
#include <iostream> #include <vector> #include <stack> using namespace std; // Funcția pentru parcurgerea în adâncime void DFS(vector<vector<int> > graph, int start) { stack<int> stack; vector<int> visited; stack.push(start); while (!stack.empty()) { int current = stack.top(); stack.pop(); if (find(visited.begin(), visited.end(), current) == visited.end()) { visited.push_back(current); cout << current << " "; for (int neighbor : graph[current]) { if (find(visited.begin(), visited.end(), neighbor) == visited.end()) { stack.push(neighbor); } } } } } int main() { // Crearea grafului vector<vector<int>> graph = { {2, 3, 4}, {4, 3}, {1, 2}, {2, 1}, {4, 5} }; // Parcurgerea în adâncime începând de la nodul 1 DFS(graph, 1); return 0; }