Quick actions

cmd+k|ctrl+k

Navigation

Languages

Graphs

Snippet info

Language

JavaScript

Visibility

public

Author

vinnysantos559

Created

2019-11-23T00:20:08Z

Updated

2019-11-23T00:20:08Z

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();
INFO