grafos año: 2012

8
PRACTICO N° 6

Upload: myra-chaney

Post on 02-Jan-2016

27 views

Category:

Documents


1 download

DESCRIPTION

PRACTICO N° 6. GRAFOS año: 2012. 2. 3. 1. 6. 4. 5. 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}. Grafo dirigido. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: GRAFOS año: 2012

PRACTICO N° 6

Page 2: GRAFOS año: 2012

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

Page 3: GRAFOS año: 2012

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.

Page 4: GRAFOS año: 2012

// CLASE DEL GRAFOpublic class CGrafo {Vertice [] V;int [][]Matriz; int mv=5;// dimensión de la matrizScanner ingreso;int numver=10;// número de nodospublic CGrafo(){ // constructor

Matriz=new int [mv][mv];V=new Vertice[mv];ingreso = new Scanner(System.in); }

Page 5: GRAFOS año: 2012

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);}

}

Page 6: GRAFOS año: 2012

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 arcopublic 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; }

Page 7: GRAFOS año: 2012

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]+" ");}

}

}

Page 8: GRAFOS año: 2012

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()