La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PRACTICO N° 6 GRAFOS año: 2012.

Presentaciones similares


Presentación del tema: "PRACTICO N° 6 GRAFOS año: 2012."— Transcripción de la presentación:

1 PRACTICO N° 6 GRAFOS año: 2012

2 Grafo dirigido Un grafo A consiste en un conjunto de vértices v y un conjunto de arcos a. Los vértices se denominan también puntos o nodos. G=(V,A) V={1,2,3,4,5,6} 1 2 4 3 5 6

3 Grafo puede ser dirigido ( la relación entre los nodos se representa con una flecha)
Grafo no dirigido(nodos no apuntados) Camino P de longitud n. es el n° de arcos que lo forman, desde el Vo al Vn. Grafo No dirigido: grado de entrada es el n° de arcos que contiene a v. Grafo dirigido: se distingue grado de entrada(n° de arcos que llegan a el nodo) y grado de salida(n° de arcos que salen de el) Adyacente: (u,v) el vertice u es adyacente a v y el vertice v es adyacente a u. Ciclo: en un grafo dirigido es un camino cerrado.

4 Implementación en jAVA
// CLASE DEL GRAFO public class CGrafo { Vertice [] V; int [][]Matriz; int mv=5;// dimensión de la matriz Scanner ingreso; int numver=10;// número de nodos public CGrafo(){ // constructor Matriz=new int [mv][mv]; V=new Vertice[mv]; ingreso = new Scanner(System.in); }

5 generar la Matriz y el vector de nodos
public void GenerarMatriz(){ for(int i=0;i<mv;i++) for(int j=0;j<mv;j++) Matriz[i][j]=0; } public void GenerarVector(){ for(int i=0;i<V.length;i++){ System.out.println("Ingrese Vertice"); int elem = ingreso.nextInt(); System.out.println("Ingrese ciudad"); String ci = ingreso.next(); V[i]=new Vertice(elem,ci);

6 Generar el arco en la matriz
public void generarArco(){ Scanner entrada = new Scanner(System.in); char op = 's'; while (op != 'n') { System.out.println("Ingrese Vertice"); int elem = entrada.nextInt(); System.out.println("Ingrese Vertice 2"); int elem2 = entrada.nextInt(); AgregoArco(elem,elem2); System.out.println("Continuar s/n?"); op = entrada.next().charAt(0);} } // Agrego arco public void AgregoArco (int va, int vb){ if((va<0 || va>=mv) || (vb <0 || vb>=mv) ) System.out.println("no existe vertice"); else Matriz[vb][va]=1; }

7 Mostrar Matriz public void Mostrar(int mv){ for(int i=0;i<mv;i++){ System.out.println("\n "); for(int j=0;j<mv;j++){ System.out.print(Matriz[i][j]+" ");} }

8 clase vertices(nodos)
public class Vertice { int numero; String ciudad; public Vertice(int n,String ciu){ this.numero=n; this.ciudad=ciu;} // agregar los metodos get() y set()


Descargar ppt "PRACTICO N° 6 GRAFOS año: 2012."

Presentaciones similares


Anuncios Google