Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. public void minimumSpanningTree(){
  2. vertexs[0].setWasVisited(true); //Inicia pelo ponto de partida e já marca ele como visitado
  3. stack.push(0); //Empilha o nó
  4.  
  5. while (!stack.empty()) { //Enquanto a pilha não estiver vazia, analisamos os nós que estão nela
  6. int currentVertex = stack.peek(); //Recupero o nó do topo da pilha, não desempilho
  7. int nextVertex = this.getAdjUnvisitedVertex(currentVertex); //Recupera o próximo nó adjacente não visitado
  8. if (nextVertex == -1) { //Não existem nós adjacentes
  9. stack.pop(); //Desempilho o nó do topo
  10. } else {
  11. vertexs[nextVertex].setWasVisited(true); //Marco o nó adjacente como visitado
  12. stack.push(nextVertex); //Empilho o nó adjacente
  13. this.displayVertex(currentVertex); //Exibo o nó atual
  14. this.displayVertex(nextVertex); //Exibo o nó adjacente ao atual
  15. System.out.print(" "); //Espaço dado para melhorar a visualização das arestas
  16. }
  17. }
  18.  
  19. for (int i=0; i<currentAmountOfVerxtes; i++) { //Se chegou aqui é porque não haviam mais nós na pilha
  20. vertexs[i].setWasVisited(false); //Reseta todos os nós novamente para que a árvore geradora mínima possa ser gerada novamente
  21. }
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement