In today's Lab we will explore a specific way to perform a Depth First Search  (DFS) of a given Graph [Ref : Figure 1]. You will implement the traversal using one of the two ways stated below :  [1] With Recursion.  When you follow the traversal process as specified - the complexity of the solution will be linear as shown below. Time Complexity: O(V + E), where V is the number of Vertices and E is the number of Edges respectively. Space Complexity: O(V )

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Jav ADDCOMMENT in code, please Do TEST-CASES address your test cases in the form of code and not prose :)

 

In today's Lab we will explore a specific way to perform a Depth First Search 

(DFS) of a given Graph [Ref : Figure 1]. You will implement the traversal using one of the two ways stated below : 

[1] With Recursion. 

When you follow the traversal process as specified - the complexity of the solution will be linear as shown below.

Time Complexity: O(V + E), where V is the number of Vertices and

E is the number of Edges respectively.

Space Complexity: O(V )

 

[1] With Recursion.
1
[2] Iteratively by using an explicit Stack.
3
2
4
Figure 1: Graph for Traversal
Transcribed Image Text:[1] With Recursion. 1 [2] Iteratively by using an explicit Stack. 3 2 4 Figure 1: Graph for Traversal
/* Class representing a directed graph using adjacency lists */
static class Graph
int V; //Number of Vertices
LinkedList<Integer>[] adj; // adjacency lists
//Constructor
Graph(int V)
this.V = V;
adj = new LinkedList (V);
for (int i = 0; i < adj.length; i++)
adj [i] = new LinkedList<Integer>();
//To add an edge to graph
2
void addEdge (int v, int w)
adj [v].add(w); // Add w to the list of v.
The edges of the Graph is given to you.
g. addEdge (0, 1);
g. addEdge (0, 2);
g. addEdge (2, 3);
g. addEdge (2, 4);
g. addEdge (4, 5);
g. addEdge (1, 3);
g. addEdge (3, 5);
Transcribed Image Text:/* Class representing a directed graph using adjacency lists */ static class Graph int V; //Number of Vertices LinkedList<Integer>[] adj; // adjacency lists //Constructor Graph(int V) this.V = V; adj = new LinkedList (V); for (int i = 0; i < adj.length; i++) adj [i] = new LinkedList<Integer>(); //To add an edge to graph 2 void addEdge (int v, int w) adj [v].add(w); // Add w to the list of v. The edges of the Graph is given to you. g. addEdge (0, 1); g. addEdge (0, 2); g. addEdge (2, 3); g. addEdge (2, 4); g. addEdge (4, 5); g. addEdge (1, 3); g. addEdge (3, 5);
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY