diff --git a/dfs.cpp b/dfs.cpp new file mode 100644 index 0000000..552e8b6 --- /dev/null +++ b/dfs.cpp @@ -0,0 +1,56 @@ +#include +#include +#include +#define pb push_back +using namespace std; + +class Graph{ + public: + int V; + list *adj; + + Graph(int v){ + V=v; + adj = new list[V]; + } + void addEdge(int u,int v,bool isUndirected=true){ + adj[u].pb(v); + if(isUndirected==false){ + adj[v].pb(u); + } + } + void dfsHelper(int node,vector&visited){ + visited[node]=true; + cout<visited(V,false); + dfsHelper(src,visited); + } + + + + +}; + +int main(){ +Graph g(7); +g.addEdge(0, 1); + g.addEdge(0, 2); + g.addEdge(1, 2); + g.addEdge(2, 0); + g.addEdge(2, 3); + g.addEdge(3, 3); + + cout << "Following is Depth First Traversal " + << "(starting from vertex 2) \n"; + g.dfs(2); + + return 0; +}