class Graph {
constructor() {
this.numberOfNodes = 0;
this.adjacencyList = {
};
}
addVertex(value) {
this.adjacencyList[value] = [];
}
addEdge(node1, node2) {
this.adjacencyList[node1].push( node2 );
this.adjacencyList[node2].push( node1 );
}
showConnections() {
console.log(this.adjacencyList);
const allNodes = Object.keys(this.adjacencyList);
console.log(allNodes);
for (let node of allNodes) {
let nodeConnections = this.adjacencyList[node];
let connections = "";
let vertex;
for (vertex of nodeConnections) {
connections += vertex + " ";
}
console.log(node + "-->" + connections);
}
}
}
const myGraph = new Graph();
myGraph.addVertex(0);
myGraph.addVertex(1);
myGraph.addVertex(2);
myGraph.addVertex(3);
myGraph.addVertex(4);
myGraph.addVertex(5);
myGraph.addVertex(6);
myGraph.addEdge(3, 1, 3);
myGraph.addEdge(3, 4, 7);
myGraph.addEdge(4, 2, 5);
myGraph.addEdge(4, 5, 2);
myGraph.addEdge(1, 2, 9);
myGraph.addEdge(1, 0, 6);
myGraph.addEdge(0, 2, 1);
myGraph.addEdge(6, 5, 2);
myGraph.showConnections();