public static GrafoNaoDirigido execute(Vertice origem, GrafoNaoDirigido grafo) { GrafoNaoDirigido arvore = new GrafoNaoDirigido(grafo.gerarGrafoNulo()); vOrigem = origem; Aresta aresta = selecionarAresta(origem); while (aresta != null) { //adiciona a aresta a arvore arvore.adicionarAresta(vOrigem.id, aresta.vertice.id, aresta.peso); //seleciona a aresta de menor peso aresta = selecionarAresta(aresta.vertice); } return(arvore); }
public static GrafoNaoDirigido execute(GrafoNaoDirigido grafo) { grafoOrigem = new GrafoNaoDirigido(grafo.vertices); arvore = new GrafoNaoDirigido(grafo.gerarGrafoNulo()); Aresta aresta = FindArestaMenorPeso(); while (aresta != null) { if (!HasCiclo(verticeOrigem, aresta)) { arvore.adicionarAresta(verticeOrigem.id, aresta.vertice.id, aresta.peso); } RemoveArestaGrafoCompleto(verticeOrigem, aresta); aresta = FindArestaMenorPeso(); } return(arvore); }