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;
  }
Exemplo n.º 2
0
  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;
  }