Please provide examples. 1. Implement a weighted graph class from the Graph.java
ID: 3699993 • Letter: P
Question
Please provide examples.
1. Implement a weighted graph class from the Graph.java used previously. Graph.java uses integer value for storing an edge. Instead of using integer value for storing edges, create an "Edge" class that holds information of edge. Edge class has following attributes (not limited to): Vertex v1, v2 int edgelD int edgeWeight 2. Change the adjacency list to hold the vertex and edge weight. . Write a driver program, which reads input files mediumGraph.txt, LargeGraph.txt and XtraLargeGraph.tt (on Canvas) and display the weighted graphs by printing adjacency list.Explanation / Answer
NOTE : I have created Edge Class, and I don't know how your Graph.java is, so I implemented in a simpler overview manner. Anyways, if you want exact implementation please give the Graph.java file.
public class Edge {
private int edgeID;
private int edgeWeight;
private Vertex vertex1;
private Vertex vertex2;
public Edge() {
super();
}
public Edge(int edgeID, int edgeWeight, Vertex vertex1, Vertex vertex2) {
super();
this.edgeID = edgeID;
this.edgeWeight = edgeWeight;
this.vertex1 = vertex1;
this.vertex2 = vertex2;
}
public int getEdgeID() {
return edgeID;
}
public void setEdgeID(int edgeID) {
this.edgeID = edgeID;
}
public int getEdgeWeight() {
return edgeWeight;
}
public void setEdgeWeight(int edgeWeight) {
this.edgeWeight = edgeWeight;
}
public Vertex getVertex1() {
return vertex1;
}
public void setVertex1(Vertex vertex1) {
this.vertex1 = vertex1;
}
public Vertex getVertex2() {
return vertex2;
}
public void setVertex2(Vertex vertex2) {
this.vertex2 = vertex2;
}
@Override
public String toString() {
return "Edge [edgeID=" + edgeID + ", edgeWeight=" + edgeWeight + ", vertex1=" + vertex1 + ", vertex2=" + vertex2
+ "]";
}
}
--------------------------------------------------------------------------------------------------------------------
/*
* Assuming this is your Vertex class
* If not, then leave it and make changes in Graph.java
* as per your code
*
* */
class Vertex {
private int vertexID;
public Vertex(int vertexID) {
this.vertexID = vertexID;
}
public int getVertexID() {
return this.vertexID;
}
public void setVertexID(int vertexID) {
this.vertexID = vertexID;
}
}
--------------------------------------------------------------------------------------------------------------------
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
class Graph {
/* Adjacency List
*
* Edge will contain both vertices
* */
Map<Vertex, List<Edge>> adjacencyList = new HashMap<>();
......
......
......
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.