public Grafo obtemTransposto() { Grafo transposto = new Grafo(); for (int i = 0; i < countVertices(); i++) { transposto.addVertice(getRotuloVertice(i)); } int i = 0; for (ListAdj adj : vetorVertices) { for (int vertice : adj.obtemAdj()) { transposto.addAresta(vertice, i, null); } i++; } return transposto; }
public List<Integer> executeSCC() { Dfs dfs = new Dfs(grafo); dfs.executeDFS(); Grafo grafoT = grafo.obtemTransposto(); DfsScc dfsT = new DfsScc(grafoT, dfs); dfsT.executeDFS(); return null; }