From 0f521693a1545bde2c7b2cc7cb090c844780888a Mon Sep 17 00:00:00 2001 From: Supriyanta Poddar Date: Mon, 1 Oct 2018 12:54:10 +0530 Subject: [PATCH] Added DFS algorithm in C++ --- CPP/algorithms/DFS/DFS.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 CPP/algorithms/DFS/DFS.cpp diff --git a/CPP/algorithms/DFS/DFS.cpp b/CPP/algorithms/DFS/DFS.cpp new file mode 100644 index 0000000..b664a2f --- /dev/null +++ b/CPP/algorithms/DFS/DFS.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std; + +vector > g; +int nodes, edges; +vector visited; + +void dfs(int src, int parent) { + for(auto i: g[src]) { + if(i == parent || visited[i]) continue; + cout << "traversing from " << src << " to " << i << endl; + dfs(i, src); + } +} + +int main() { + cout << "enter number of nodes & edges: "; + cin >> nodes >> edges; + g.resize(nodes+1); + visited.resize(nodes+1, 0); + cout << "Enter edge pairs: "; + for(int i=0;i> x >> y; + g[x].push_back(y); + g[y].push_back(x); + } + for(int i=1;i<=nodes;++i) { + if(!visited[i]) { + dfs(i, i); + } + } + + return 0; +} \ No newline at end of file