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 void addAresta(String rotuloInicio, String rotuloFim, String rotulo) {
   int indiceInicio = getIndexDeRotulo(rotuloInicio);
   int indiceFim = getIndexDeRotulo(rotuloFim);
   addAresta(indiceInicio, indiceFim, rotulo);
 }