Exercicio De Grafos
Trabalho Universitário: Exercicio De Grafos. Pesquise 862.000+ trabalhos acadêmicosPor: lucaslrcs • 24/11/2014 • 1.799 Palavras (8 Páginas) • 246 Visualizações
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package grafo;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
/**
*
* @author Eduardo
*/
public class Grafo {
private int [][] matrizAdjacencia;
public Grafo(int [][] matriz) {
matrizAdjacencia = matriz;
}
public int numeroVertices() {
return matrizAdjacencia.length;
}
public int numeroArestas() {
int soma = 0;
for (int i = 0; i < matrizAdjacencia.length; i++) {
for (int j = i; j < matrizAdjacencia[i].length; j++) {
soma = soma + matrizAdjacencia[i][j];
}
}
return soma;
}
public String nomeArestas() {
String arestas = "";
for (int i = 0; i < matrizAdjacencia.length; i++) {
for (int j = i; j < matrizAdjacencia[i].length; j++) {
if (matrizAdjacencia[i][j] != 0) {
for (int h = 0; h < matrizAdjacencia[i][j]; h++) {
arestas = arestas + "[" + i + "," + j + "] ";
}
}
}
}
return arestas;
}
public int loops() {
int numLoops = 0;
for (int i = 0; i < matrizAdjacencia.length; i++) {
for (int j = i; j < matrizAdjacencia[i].length; j++) {
if (i == j && matrizAdjacencia[i][j] != 0) {
numLoops = numLoops + matrizAdjacencia[i][j];
}
}
}
return numLoops;
}
public int numArestasParalelas() {
int numArestasParalelas = 0;
for (int i = 0; i < matrizAdjacencia.length; i++) {
for (int j = i; j< matrizAdjacencia[i].length; j++) {
if (matrizAdjacencia[i][j] > 1) {
numArestasParalelas = numArestasParalelas + matrizAdjacencia[i][j];
}
}
}
return numArestasParalelas;
}
public boolean isConexo() {
HashSet<Integer> vertices = new HashSet<Integer>();
vertices.add(0);
for (int i = 0; i < matrizAdjacencia.length; i++) {
for (int j = i + 1; j < matrizAdjacencia[i].length; j++) {
if (matrizAdjacencia[i][j] != 0) {
...