From 8fe8c3efedb4bf04819dbdf0b713e10613ac87ba Mon Sep 17 00:00:00 2001 From: Saulo Alexandre de Barros <31544944+DinoSaulo@users.noreply.github.com> Date: Sun, 31 Oct 2021 08:39:33 -0300 Subject: [PATCH 1/2] updating the readme.md file --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e93e88..e0b8ae6 100644 --- a/README.md +++ b/README.md @@ -1 +1,10 @@ -# repo3 \ No newline at end of file +# repo3 + +### How to contribute? + +* Fork this repository +* Create a new cpp file +* Add any code +* Push PR +* Follow Developer & Star the repo +* All done! \ No newline at end of file From dee41869658da6f0be65728e24cd5dc1e39d1c70 Mon Sep 17 00:00:00 2001 From: Saulo Alexandre de Barros <31544944+DinoSaulo@users.noreply.github.com> Date: Sun, 31 Oct 2021 08:40:42 -0300 Subject: [PATCH 2/2] add dfs algorithm --- dinosaulo.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 dinosaulo.cpp diff --git a/dinosaulo.cpp b/dinosaulo.cpp new file mode 100644 index 0000000..02489a8 --- /dev/null +++ b/dinosaulo.cpp @@ -0,0 +1,57 @@ +#include +using namespace std; + +// Graph class represents a directed graph +// using adjacency list representation +class Graph +{ +public: + map visited; + map> adj; + + // function to add an edge to graph + void addEdge(int v, int w); + + // DFS traversal of the vertices + // reachable from v + void DFS(int v); +}; + +void Graph::addEdge(int v, int w) +{ + adj[v].push_back(w); // Add w to v’s list. +} + +void Graph::DFS(int v) +{ + // Mark the current node as visited and + // print it + visited[v] = true; + cout << v << " "; + + // Recur for all the vertices adjacent + // to this vertex + list::iterator i; + for (i = adj[v].begin(); i != adj[v].end(); ++i) + if (!visited[*i]) + DFS(*i); +} + +// Driver code +int main() +{ + // Create a graph given in the above diagram + Graph g; + 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; +} \ No newline at end of file