Added JS standard

This commit is contained in:
Rodrigo
2021-01-06 17:37:19 -03:00
parent 5946f987a9
commit 7b15f66a86

View File

@ -1,12 +1,12 @@
// https://en.wikipedia.org/wiki/Neighbourhood_(graph_theory) // https://en.wikipedia.org/wiki/Neighbourhood_(graph_theory)
class Graph{ class Graph {
// Generic graph: the algorithm works regardless of direction or weight // Generic graph: the algorithm works regardless of direction or weight
constructor(){ constructor () {
this.edges = [] this.edges = []
} }
addEdge(node1, node2){ addEdge (node1, node2) {
// Adding edges to the graph // Adding edges to the graph
this.edges.push({ this.edges.push({
node1, node1,
@ -14,16 +14,15 @@ class Graph{
}) })
} }
nodeNeighbors(node){ nodeNeighbors (node) {
// Returns an array with all of the node neighbors // Returns an array with all of the node neighbors
let neighbors = [] const neighbors = []
for (let i = 0; i < this.edges.length; i++) { for (let i = 0; i < this.edges.length; i++) {
// Checks if they have an edge between them and if the neighbor is not // Checks if they have an edge between them and if the neighbor is not
// already in the neighbors array // already in the neighbors array
if (this.edges[i].node1 === node && !(neighbors.includes(this.edges[i].node2))) { if (this.edges[i].node1 === node && !(neighbors.includes(this.edges[i].node2))) {
neighbors.push(this.edges[i].node2) neighbors.push(this.edges[i].node2)
} } else if (this.edges[i].node2 === node && !(neighbors.includes(this.edges[i].node1))) {
else if (this.edges[i].node2 === node && !(neighbors.includes(this.edges[i].node1))) {
neighbors.push(this.edges[i].node1) neighbors.push(this.edges[i].node1)
} }
} }
@ -32,7 +31,7 @@ class Graph{
} }
(() => { (() => {
let graph = new Graph() const graph = new Graph()
graph.addEdge(1, 2) graph.addEdge(1, 2)
graph.addEdge(2, 3) graph.addEdge(2, 3)
graph.addEdge(3, 5) graph.addEdge(3, 5)