Sunteți pe pagina 1din 22

ESTRUCTURA DE DATOS

DINMICAS NO LINEALES
GRAFOS EN JAVA

GRAFOS
DEFINICION
Los Grafos son un conjunto
de nodos o vrtices que se
encuentran relacionados
con aristas o arcos
Adems los nodos tienen un
valor

5
6

2
1
3

CLASES
GRAFO DIRIGIDO
Un Grafo dirigido G Consiste en un conjunto finito de nodos N y un conjuntos
de arcos A.
Nodo o Vrtice, Arista o Arco.
Un Arco en un par ordenado de vrtices (v , w) donde v es la cola y w la cabeza
del arco.

El arco se representa a menudo como v


v

w , y se representa como:
w
,

IEI =6

A={(1,2),(2,2),(2,4),(2,5),(4,5),(5,4),(6,3) } ,

lVI=8

V={1,2,3,4,5,6}

GRAFO NO DIRIGIDO
Un Grafo no dirigido NG Consiste en un conjunto finitos de nodos y un
conjuntos de arcos A.

Un Arco en no es un par ordenado de vrtices (v , w) donde v es la cola y


w la cabeza del arco.
El Arco : Es un par no ordenado de vrtices (v , w)=(v , w)
v

V={1,2,3,4,5,6}

IVI=6

W={(1,2),(1,5),(2,5),(6,3)}

IWI=4

RELACIN DE ADYACENCIA

RELACION DE INCIDENCIA

GRADO DE UN VRTICE
.

El grado de un vrtice u es el nmero de vrtices adyacentes a u.

Grado de un grafo no dirigido.

Grado de un grafo dirigido.

El grado de salida de un vrtice


u es el nmero de vrtices
adyacentes desde u,

El grado de entrada de un vrtice u


es el nmero de vrtices adyacentes
a u.

REPRESENTACIN DE GRAFOS
MATRIZ ADYACENTE
Es un array de dos dimensiones que representan las conexiones entre pares
de vrtices o nodos.
Sea un Grafo G con un conjunto de nodos Vg y un conjunto de aristas Ag.
de orden N. Donde N>=1.

1 , si existe un arco (Vi , Vj ) en Ag ,Vi es adyacente a Vj.


M(i , j) =
0 , en caso contrario.

Ejemplo:

Ejemplo:

La siguiente sintaxis muestra la implementacin de la clase grafo


con un matriz de adyacencias:

Representacin grfica de una variable de la clase Grafo llamada


grafo1

CONSTRUCTORES DE LA CLASE GrafoMa


Se utiliza para crear un grafo vaco, con un tamao mximo y nmero de vrtices
igual a 0. Se pasa como argumento un booleano que indica si se trata de un grafo
dirigido o no dirigido.

Tambin se puede incluir un constructor al que se le pasen como


argumentos el nmero de vrtices del grafo y el valor para el
campo dirigido:

Mtodos insertar y eliminar aristas.

LISTAS ADYACENTES

una lista de adyacencia es una representacin de todas


las aristas o arcos de un grafo mediante una lista.
Es til cuando un grafo tiene muchos vrtices y pocas aristas.
Si el grafo es dirigido, cada entrada es una tupla de dos nodos, uno
denotando el nodo fuente y el otro denotando el nodo destino del
arco correspondiente.
Si el grafo es no dirigido, cada entrada es
un conjunto o multiconjunto de dos vrtices conteniendo los dos
extremos de la arista correspondiente.

Ejemplo:

Ejemplo:

La siguiente sintaxis muestra la implementacin de la clase grafo con


una lista de adyacencias:

Constructores de la clase GrafoLa

El constructor Grafo(boolean d) se utiliza para crear un grafo vaco, con un


tamao mximo y nmero de vrtices igual a 0. El argumento booleano
indica si se trata de un grafo dirigido o no dirigido.

Tambin se puede incluir un constructor al que se le pasen como


argumentos el nmero de vrtices del grafo y el valor para el campo
dirigido. Se crea un vector de n listas inicializadas.

Mtodos: insertar aristas.


La insercin de una arista (i, j) en la lista de adyacencias supone insertar un nodo
con clave j en la lista con ndice i. En caso de que se trate de un grafo no dirigido,
debe recordarse que la arista (i, j) es igual a la arista (j, i) de forma que habr que
insertar en la lista con ndice j el nodo con clave i.

La eliminacin de la arista (i, j) consiste en eliminar el nodo con clave j de la lista


con ndice i. Si el grafo es no dirigido, habr que eliminar el nodo con clave i de la
lista con ndice j:

Mtodo insertar vrtices


Al igual que en la matriz de adyacencias, no se permite insertar vrtices si
se supera el lmite de vrtices del grafo (valor del campo maxNodos). El
mtodo aqu propuesto tiene como argumento un entero que indica el
nmero de vrtices que se desea aadir al grafo. En caso de que no se
supere el nmero mximo de nodos del grafo, se inicializan las n listas
correspondientes a los vrtices que se aaden al grafo.

S-ar putea să vă placă și