Home /
Expert Answers /
Computer Science /
q5-15-pts-depth-first-search-given-the-directed-graph-above-show-the-traversal-order-e-g-1-pa771
(Solved): Q5 (15 pts). Depth-First Search. Given the directed graph above, show the traversal order (e.g., 1, ...
Q5 (15 pts). Depth-First Search. Given the directed graph above, show the traversal order (e.g., 1,2,3,4,….)whenyouapply(i)depth?firstsearchstartingfrom1 and (ii) depth-first search starting from 5. Q6 (15 pts). Breadth-First Search. Given the directed graph above, show the traversal order (e.g., 1, 2, 3, 4, ...) when you apply (i) breadth-first search starting from 1 and (ii) breadth-first search starting from 5.
Here is the implementation of DFS traversal in C++.void DFS(int node, vector adj[], vector& visited):
This function performs a DFS traversal of the graph starting from a given node node. The adjacency list of the graph is passed as adj and a visited vector is used to keep track of which nodes have already been visited.visited[node] = true; cout << node << " ";:
The current node node is marked as visited and printed.for(int i = 0; i < adj[node].size(); i++):
A loop is initiated to traverse through the adjacency list of the current node node.int neighbor = adj[node][i];:
The ith adjacent node of the current node node is accessed using the adjacency list adj.if(!visited[neighbor]) { DFS(neighbor, adj, visited); }:
If the adjacent node neighbor is not yet visited, the DFS function is recursively called on neighbor to continue traversing the graph from that node.In main():The number of nodes n and the number of edges m are taken as input.An adjacency list adj is created and filled up by taking the input for each edge.A visited vector is created and initialized with false values for each node.The DFS function is called with the starting node as 1 to perform a DFS traversal of the graph.