Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(using java language with netbeans IDE) Write a program that reads a graph from

ID: 3681751 • Letter: #

Question

(using java language with netbeans IDE)

Write a program that reads a graph from a file and determines whether the graph is connected. The first line in the file contains a number that indicates the number of vertices (n). The vertices are labeled as 0, 1, . . . , n-1. Each subsequent line, with the format u v1 v2 ..., describes edges (u, v1), (u, v2), and so on. Figure below gives the examples of two files for their corresponding graphs.

(my example picture isnt working however it was basically just 6 dots and some were connected but they all connected one way or another and the other picture had one line that wasnt connected to the rest of the box)                                                                                                         

Your program should prompt the user to enter the name of the file, then it should read data from the file, create an instance g of UnweightedGraph, invoke g.printEdges() to display all edges, and invoke dfs() to obtain an instance tree of AbstractGraph.Tree. If tree.getNumberOfVerticesFound() is the same as the number of vertices in the graph, the graph is connected. Here is a sample run of the program based on the Figure below.

Sample output

Enter a file name: c:exerciseExercise24_1a.txt

The number of vertices is 6

Vertex 0: (0, 1) (0, 2)

Vertex 1: (1, 0) (1, 3)

Vertex 2: (2, 0) (2, 3) (2, 4)

Vertex 3: (3, 1) (3, 2) (3, 4) (3, 5)

Vertex 4: (4, 2) (4, 3) (4, 5)

Vertex 5: (5, 3) (5, 4)

The graph is connected

Explanation / Answer

public class Random_Undirected_Graph { private Map adjacencyList; public Random_Undirected_Graph(int v) { adjacencyList = new HashMap(); for (int i = 1; i adjacencyList.size() || from > adjacencyList.size()) System.out.println("The vertices does not exists"); List sls = adjacencyList.get(to); sls.add(from); List dls = adjacencyList.get(from); dls.add(to); } public List getEdge(int to) { if (to > adjacencyList.size()) { System.out.println("The vertices does not exists"); return null; } return adjacencyList.get(to); } public static void main(String args[]) { System.out.println("Enter the number of edges: "); Scanner sc = new Scanner(System.in); int e = sc.nextInt(); try { int minV = (int) Math.ceil((1 + Math.sqrt(1 + 8 * e)) / 2); int maxV = e + 1; Random random = new Random(); int v = Math.abs(random.nextInt(maxV - minV) + minV); System.out.println("Random graph has "+v+" vertices"); Random_Undirected_Graph rug = new Random_Undirected_Graph(v); int count = 1, to, from; while (count