Está en la página 1de 9

ESTRUCTURAS DE DATOS

GRUPO 09

CAPITULO IV
ESTRUCTURAS DE DATOS COMPUESTAS NO
LINEALES.
GRAFOS (GRFICAS) Y ARBOLES.
1.- INTRODUCCIN.

Para la solucin de problemas, sobre todo cuando estos se vuelven complejos,


se vuelve necesario el modelarlos a travs de varias herramientas, una de ellas es
precisamente mediante dibujos grfica, (para posteriormente poder analizarlas).
Haciendo un poco de historia, se tiene el antecedente en el ao de 1736,
cuando Leonhard Euler (1707-1783) plantea a travs de un grafo el problema de los
puentes de Koningsberg, otro precursor es Sir W. R. Hamilton (1805-1865), con su
dodecaedro (cuerpo de 12 caras), crea un juego donde cada una de sus esquinas
representaba una ciudad del mundo y el juego consista en encontrar una ruta entre
los bordes del dodecaedro pasando solamente una vez, por cada una de las veinte
ciudades, y as podamos seguir hasta que ya en la segunda mitad de este siglo se le
ha dado un gran impulso con autores como C. Berge, F. Haray, entre otros.
Un grafo es una representacin que existe en un sistema dado, y para poder
analizar este grafo, a travs de un equipo de cmputo, es necesario el poderla
representar en su memoria.

2.-DEFINICION O CONCEPTO DE GRAFO O GRAFICA O DIAGRAMA.

La forma ms conocida de representar un grafo es por medio de un dibujo


donde tendremos los siguientes dos elementos:
- los puntos, tambin llamados vrtices, nodos, unin
- las lneas que unen a los puntos, conocidas como arcos, ramas elementos.

Para representar en la memoria de una computadora al grafo G= (E, V), va a


se necesario utilizar 2 conjuntos de elementos, uno para los arcos E= (e1, e2,....en) y
otro para los vrtices V= (v1, v2,....vn)
Como por ejemplo:
V= (v1, v2, v3, v4, v5, v6, v7, v8)
E= (e1, e2, e3, e4, e5, e6, e7, e8)
donde poniendo los arcos en funcin de los vrtices terminales tendremos:

E= (<v2,v2>, <v2,v4>, <v1,v2>, <v1,v3>, <v1,v3>, <v3,v4>, <v4,v5>, <v5,v6>)

V8
V5
V7 V2 e1
E3
V1 e2 e8
e5 e4 e7
V3 FIGURA IV.1
V4 V6
e6
3.- Elementos de un grafo.

CICLO, LAZO O LOOP.


Cuando un arco tiene el mismo vrtice tanto como inicial, como final, se conoce como
ciclo. Por ejemplo, en el grafo de la figura IV.1, el arco e1 es un ciclo, lazo o loop.
ARCOS PARALELOS.
Si se tiene que a ms de un arco se tengan los mismos vrtices terminales, se
denominan arcos paralelos, como es el caso de los arcos e4 y e5 de la figura anterior.

GRAFO SIMPLE Y MULTIGRAFO.


Cuando un grafo contiene arcos paralelos y/o ciclos, se conoce como multgrafo, en
tanto que si no contiene ni ciclos, ni arcos paralelos, se conoce como un grafo simple.

GRAFO SIMPLE

GRAFO FINITO E INFINITO.


Cuando los conjuntos con los cuales se definen los grafos V y E tienen un nmero
finito de elementos, se conoce como un grafo finito y en caso de que estos conjuntos
tengan un nmero infinito de elementos se cono ce como grafos infinitos.

ARCO DIRIGIDO Y NO DIRIGIDO.


Cuando es necesario considerar de los nodos terminales de un arco cual es el inicial y
cual es el final, se conoce como Arco Dirigido, como por ejemplo supongamos que
estamos representando el flujo de agua en la tuberas, en donde solo puede circular
en un solo sentido el agua, es donde es necesario considerar a esa tubera como un
arco dirigido de un vrtice inicial, a un vrtice final.
Cuando no es importante considerar el orden de los nodos terminales de un arco, se
conoce como Arco no Dirigido, como por ejemplo, si estamos representando el sistema
de carreteras donde estas sean de dos sentidos, es indistinto cual es el nodo origen
cual es el nodo destino.

GRAFO DIRIGIDO, NO DIRIGIDO Y MIXTO.


Un grafo dirigido, es aquel donde todos sus arcos son dirigidos, en tanto que un grafo
no dirigido es cuando todos sus arcos son no dirigidos. As tambin un grafo mixto es
cuando puede contener tanto arcos no dirigidos como arcos dirigidos.

GRAFO DIRIGIDO GRAFO NO DIRIGIDO

GRAFO NULO.
Se tiene cuando el conjunto de arcos E esta vaco, pero debe de existir el conjunto de
vrtices V, ya que de otro modo si ambos conjuntos estn vacos, no se tendra ningn
grafo.

GRAFO COMPLETO
Es aquel que cada nodo tiene comunicacin directa con otros nodos.

GRAFO DE 1 NODO GRAFO DE 2 NODOS GRAFO DE 3 NODOS


GRAFO PESADO.
Puede ser un grafo dirigido o no, y es cuando a los arcos se les asigna un valor, el cual
puede ser por ejemplo una distancia. Y generalmente se representa ese valor peso
en el mismo arco.
8
3
3

4
5

INCIDENCIA, ADYACENCIA Y GRADO DE UN NODO.


Incidencia es un punto de encuentro de dos elementos, que para nuestro caso
aplicado a los grafos, se dice que cuando un vrtice es un vrtice terminal de algn
arco se conoce como incidentes de ambos elementos, por ejemplo el arco e3, e4 y e5,
son incidente en el vrtice v1.
Dos arcos no paralelos son adyacentes si inciden en el mismo vrtice, por ejemplo los
arcos e2 y e7.
El nmero de arcos que inciden en un nodo vrtice, se conoce como grado o
valencia del nodo, por ejemplo el grado del nodo v2 es de 4, en tanto que el del nodo
v1 es de 3.
Cuando se trata de un grafo dirigido, se tienen dos tipos de grados, el interno y el
externo. El grado interno de un nodo se considera como el nmero de arcos que llegan
a l y el grado externo es el nmero de arcos que salen de l.

Grado interno 2 Grado3 Grado interno 2


Grado externo 1 Grado externo 1
Grado total = 3

VRTICE AISLADO.
Es aquel vrtice cuyo grado es igual a cero, esto quiere decir que no tiene ningn arco
que incida en l, por ejemplo en el grafo de la figura IV1 los vrtices v7 y v8 son
vrtices aislados.

VRTICE PNDULO O LTIMO.


Son aquellos vrtices cuyo grado es igual a uno, de nuestro grafo de ejemplo el vrtice
v6 es un vrtice pndulo.

ARCOS EN SERIE.
Dos arcos estn en serie si son adyacentes y su vrtice en comn es de grado 2,
como por ejemplo los arcos e7 y e8 de la figura IV.1 estn en serie, ya que son
adyacentes y el vrtice en el cual inciden v5 tiene un grado igual a 2.

ISOMORFISMO.
Isomorfismo significa igualdad en cuanto a los componentes de dos elementos. Un
grafo, se puede dibujar de mil formas y puede seguir siendo el mismo. Se dice que
dos grafos son equivalentes o isomrficos, siempre y cuando tengan un
comportamiento igual en cuanto a las caractersticas de la teora de grafos se refiere.
Para que dos grafos sean isomorficos es condicin necesaria, pero no suficiente si
cumple con las siguientes 3 caractersticas:
- Tener el mismo nmero de vrtices.
- El mismo nmero de arcos.
- El total de la suma de todos los grados de todos los nodos se idntico.

1 1

3 3 1 2 2 2 2 1
1 1
=10 =10

TRAYECTORIA, CAMINOS (CADENA), PATRONES (CAMINO ABIERTO) Y


CIRCUITO (CAMINO CERRADO).
A un conjunto de arcos se llama trayectoria, la cual parte de un nodo inicial vi y llega a
un nodo final vf, y la longitud de la trayectoria es el nmero de arcos que intervienen
en ella.
Camino Cadena es una trayectoria finita, en otras palabras es una secuencia finita
de vrtices y arcos que empiezan y terminan con un nodo, y que adems ningn arco
aparece mas de una vez, no as los vrtices que si pueden aparecer mas una vez.
Patrn Camino Abierto es una trayectoria, en la cual ni vrtices, ni arcos aparecen
ms de una sola vez.
Circuito Camino Cerrado, tambin es una trayectoria donde ningn vrtice a
excepcin del inicial y del final aparecen mas de una vez.

REPRESENTACIN DE GRAFOS EN LA MEMORIA DE UNA COMPUTADORA.


Para representar un grafo en la memoria de una computadora, se utilizan diferentes
tipos de matrices (las cuales fueron vistas su representacin en el capitulo 2), solo que
dependiendo del grafo es posible que no puedan ser representadas por todas las que
a continuacin se van a describir.

MATRIZ DE INCIDENCIA.
Si se tiene un grafo de n vrtices y m arcos, sin ciclos, se puede representar el grafo a
travs de una matriz de orden n por m y cuyo contenido va a ser un 1 para el
elemento aij si existe incidencia del arco j-simo con el vrtice i-simo, y ser de 0 si
no existe ninguna incidencia.
De la matriz de incidencia se pueden deducir los siguientes aspectos:
- El nmero de unos que aparece en cada rengln representa el grado del vrtice
correspondiente a ese vrtice (del rengln dado).
- El nmero de unos de cada columna que son dos, indica con que vrtices es
incidente el arco.
- Cuando un vrtice es aislado, su rengln correspondiente en su matriz de
adyacencia, contendr solo ceros.

V3
V4 a
V6
V2 gg b
f c

V1 d V5
V7

Figura 2
De la fig. 2

a b c d e f g h

v1 0 0 0 1 0 1 0 0
v2 0 0 0 0 1 1 1 1
v3 0 0 0 0 0 0 0 1 MATRIZ DE INCIDENCIA
v4 1 1 1 0 1 0 0 0
v5 0 0 1 1 0 0 1 0
v6 1 1 0 0 0 0 0 0
v7 0 0 0 0 0 0 0 0

MATRIZ DE CIRCUITOS
Se tiene una matriz de n circuitos por m arcos (los cuales son los que se encuentran el
circuito), y cuyo contenido va a ser un 1 para el elemento aij si es que el circuito del
rengln ii contiene el arco j. y ser 0 si el arco de esa columna no este incluido en el
rengln correspondiente.
De la figura tenemos 4 circuitos con 8 columnas.

a b c d e f g h
Cto.1 0 0 0 1 0 1 1 0
Cto.2 0 0 1 0 1 0 1 0
Cto.3 0 0 1 1 1 1 0 0
Cto.4 1 1 0 0 0 0 0 0

Se observa de esta matriz de circuitos lo siguiente:


- No todos los grafos pueden ser representados a travs de esta matriz, ya que
existirn grafos donde no existan ciclos (por ejemplo los grafos simples).

- Vamos a tener tantos renglones, como circuitos existan en el grafo, ya que cada
rengln corresponde a un circuito.
- Si en una columna todos sus elementos son cero, quiere decir que ese arco no
corresponde a ningn circuito.
- El nmero de unos en un rengln, indica cuantos arcos estn involucrados en ese
circuito,

MATRIZ DE ADYACENCIA.
Es una matriz de orden n por n vrtices, esto quiere decir que es una matriz cuadrada
y que adems es simtrica, y cuyos elementos van a tomar el valor de 1 para aij
cuando exista un arco entra el vrtice ii y el vrtice j y ser de 0 cuando este arco no
exista.
a

b d

e
FIGURA 3
De la fig. 3

a b c d e

a - 1 1 1 0
b 1 - 0 0 1
c 1 0 - 0 0 MATRZ DE ADYACENCIA
d 1 0 0 - 0
e 0 1 0 0 -

1: si hay conexin directa


2: no hay conexin directa
-: si es el mismo punto (no hay distancia)
A 1 B

1 1 E

1
C 1 D

FIGURA 4
De la fig. 4

A B C D E

A - 1 1
B 1 - 1 1
C 1 - 1 MATRZ DE ADYACENCIA
D 1 1 - 1
E 1 1 -

: No hay conexin directa


-: si es el mismo punto (no hay distancia)

Encontrar la ruta ptima de A a D:


1ra. Ruta: ABD = 1 + 1 = 2
2ra. Ruta: ACD = 1 + 1 = 2
3ra. Ruta: ABED = 1 + 1 + 1 = 3

De la matriz de Adyacencia se observan los siguientes puntos:


- Solo es para grafos, sin arcos paralelos.
- De lo anterior se deduce que los elementos de la diagonal principal son ceros.
- No se consideran arcos paralelos tampoco.

De la fig. 4

A B C D E

A - 1 1 2 2
B 1 - 2 1 1
C 1 2 - 1 2 MATRZ DE CONECTIVIDAD
D 2 1 1 - 1
E 2 1 2 1 -
ARBOLES.

Un rbol es un grafo que tiene las siguientes caractersticas:


- Es un grafo simple y finito.
- Existe solo un patrn entre cada par de vrtices.
- El nmero de vrtices n que contiene es igual a n+1 arcos.
- La suma de los grados de todos los vrtices es 2(n+1), donde n es el nmero de
vrtices del grafo.
- Entre cualquier par de nodos existe slo una trayectoria.

NIVELES DEL RBOL.


Un rbol es como un rbol genealgico, en donde a cada generacin se le conoce
como nivel. De todos los nodos que componen al rbol, existe uno que no tiene
antecesor, que se llama raz, el cual para algunos autores es el nivel cero y para otros
el nivel uno, tambin vale la pena mencionar, que el nivel de un nodo es igual al nivel
de su antecesor ms uno.
Los nodos que tienen descendientes, se les conoce como nodos padres y la los
descendientes como nodos hijos, un nodo padre puede tener 0 varios
descendientes, pero un nodo descendiente no puede tener mas que a un solo nodo
padre. No existe ninguna relacin entre los nodos del mismo nivel, solo hacia sus
descendientes o ascendentes.

REPRESENTACIN DE ARBOLES.
Un rbol se puede representar en forma grfica, de barras y de conjuntos.

a
b
a
a b
d
e c
b d
d
c e
e
d
c

GRAFICA CONJUNTOS TABULA

RBOL DE KNUTH Y ESTRICTAMENTE BINARIO.


Un rbol es binario de Knuth cuando puede tener cero, uno dos descendientes, y si
slo puede tener cero dos descendientes se llama estrictamente binario.

RBOL BINARIO DE KNUTH ARBOLES ESTRICTAMENTE BINARIOS

BOSQUE.
Es un conjunto de rboles, los cuales pueden ser transformados en un rbol de Knuth.
RBOL LIBRE, ORIENTADO Y ORDENADO.
En un rbol ordenado, es importante conservar siempre al nodo raz, as como el
orden en que van apareciendo los subrboles en cada nivel del rbol, en tanto que en
el rbol orientado no afecta en que orden vayan apareciendo los subrboles, solo que
se mantenga la relacin padre e hijo y finalmente en un rbol libre no importa ni la
precedencia de que nodo es padre, ni cual es hijo, ni el orden en que aparecen los
subrboles.

ALGORITMO PARA PASAR DE UN BOSQUE A UN RBOL DE KNUTH.


-Primero unir las races de todos los rboles que componen al bosque, dejando la raz
del que se encuentra ms a la izquierda como raz del nuevo rbol.
- Unir a los nodos hermanos de cada padre.
- Y finalmente retirar todas las ligas del nodo padre a sus nodos hijos, menos del que
se encuentre ms a la izquierda.

ALGORITMO PARA PASAR DE UN RBOL CUALQUIERA A UN RBOL


ESTRICTAMENTE BINARIO (QUEDA COMO SUGERENCIA INVESTIGARLO).

RBOL BALANCEADO. Y RBOL COMPLETO.


En los rboles estrictamente binarios, donde tenemos n nodos terminales y m que es
la longitud de cualquiera de las trayectorias que va de la raz a alguno de los nodos
terminales. Se dice que es balanceado completo cuando se cumple que:
m
n= 2

Y es parcialmente balanceado cuando se cumple:

2m < n < 2m+1 y la longitud de la trayectoria es m y m+1

ARBOL PARCIALMENTE BALANCEADO

Nivel 1 a

Nivel 2 c
b

Nivel 3 d e

Nivel 4 f

n=3
m=1
m+1=2 21< 3<22 => 2<3<4

ARBOLES BINARIOS DE BUSQUEDA

5 >

3 7

6 9
1 4
RECORRIDOS DE PRIMER ORDEN

ARRIBA-ABAJO: () a
ABAJO-ARRIBA: ()
PREORDEN (RAIZ-RI-RD)
INORDEN (RI-RAIZ-RD)
b c
POSORDEN (RI-RD-RAIZ)

abcdzegh d
hgedzbca z
abdeghcz
dghebazc
hgedbzca e

ENCONTRAR RECORRIDOS DE SEGUNDO ORDEN

PREORDEN: RAIZ (1 VEZ)-RI (EN 2 ORDEN)-RAIZ (2 VEZ)-RD (EN 2 ORDEN)


INORDEN: RI (EN 2ORDEN)-RAIZ (1 VEZ)-RAIZ (2 VEZ)-RD (EN 2 ORDEN)
POSTORDEN: RI (EN 2ORDEN)-RAIZ (1 VEZ)-RD (EN 2ORDEN)-RAIZ (2 VEZ)

También podría gustarte