Imagem de fundo

Considere o código de um grafo implementado na linguagem...

Considere o código de um grafo implementado na linguagem Javascript, descrito abaixo:


class Graph {

constructor() {

this.vertices = new Set();

this.edges = new Map();

}

addVertex(vertice) {

this.vertices.add(vertice);

this.edges.set(vertice, []);

}

addEdge(source, destination) {

this.edges.get(source).push(destination);

this.edges.get(destination).push(source);

}

compute(start, visited = new Set()) {

visited.add(start);

for (const adjacent of this.edges.get(start)) {

if (!visited.has(adjacent)) {

this.compute(adjacent, visited);

}

}

return visited;

}

}



O método compute do código é conhecido pelo acrônimo em inglês:


A

DFS - Depth-First Search


B

BFS - Breadth-First Search


C

DAG - Directed Acyclic Graph


D

MST - Minimum Spanning Tree


E

MBM - Maximum Bipartite Matching