Java Very important: As a COMMENT IN CODE, please DO Test-Cases on how you would test your solution assumptions and hence your code explore a specific way to perform a Breadth First Search (BFS) of a given Graph [Ref : Figure 1].

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 9PE
icon
Related questions
Question

Java

Very important: As a COMMENT IN CODE, please DO Test-Cases on how you would test your solution assumptions and hence your code

explore a specific way to perform a Breadth First Search (BFS) of a given Graph [Ref : Figure 1].

 

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);
Your code will need to return the traversal of the nodes in BFS order, where
the traversal starts from Node/Vertex 0.
When you follow the traversal process as specified - the complexity of the solu-
tion will be linear as shown below.
Time Complexity: 0(V + E), where V is the number of Vertices and
E is the number of Edges respectively.
Space Complexity: 0(V)
The linear space complexity would come from the specific data structure you
employ to traverse the Graph using BFS.
Transcribed Image Text: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); Your code will need to return the traversal of the nodes in BFS order, where the traversal starts from Node/Vertex 0. When you follow the traversal process as specified - the complexity of the solu- tion will be linear as shown below. Time Complexity: 0(V + E), where V is the number of Vertices and E is the number of Edges respectively. Space Complexity: 0(V) The linear space complexity would come from the specific data structure you employ to traverse the Graph using BFS.
2
4
5
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
void addEdge (int v, int w)
{
adj [v].add (w); // Add w to the list of v.
2
Transcribed Image Text:2 4 5 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 void addEdge (int v, int w) { adj [v].add (w); // Add w to the list of v. 2
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 4 images

Blurred answer
Knowledge Booster
Concept of Threads
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning