You are on page 1of 25

1

E
S
T
R
U
C
T
U
R
A
S




D
I
S
C
R
E
T
A
S

I

I
E
S
T
R
U
C
T
U
R
A
S




D
I
S
C
R
E
T
A
S

I

I
E
S
T
R
U
C
T
U
R
A
S




D
I
S
C
R
E
T
A
S

I

I
rboles rboles
Los rboles representan las estructuras no lineales y dinmicas
de datos ms importantes en computacin.
Se les llama dinmicas porque la estructura rbol puede
cambiar durante la ejecucin de un programa.
Son no lineales, puesto que a cada elemento del rbol pueden
seguirle varios elementos
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
2
rboles rboles
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles rboles
Ejemplos de Sistemas que pueden representarse mediante rboles:
Un sistema de ficheros
La estructura de un documento (captulos, apartados,
subapartados, ...)
Un rbol de decisin
Un rbol genealgico
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
3
rboles rboles
Todo subgrafo de un rbol, es tambin un rbol.
Todo grafo conexo con menor nmero de aristas que de vrtices,
debe ser un rbol.
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Definicin: Arbol
Un grafo G=(X,E) es un rbol si
Es conexo
No contiene ciclos
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles rboles
Ejemplo:
Obtener todos los rboles de menos de 7 vrtices
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
4
Definiciones Bsicas Definiciones Bsicas
Elementos de un rbol:
Un rbol esta formado de varios elementos los cuales son:
Rama: Es la lnea que une a dos vrtices.
Nodo de Bifurcacin: Es el que se caracteriza como eje y de el se hace
una ramificacin ( no vaca) o subrboles.
Hoja: Es el vrtice terminal, que se encuentra al terminar la
ramificacin.
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles rboles
Nivel:
Es el nmero de arcos que deben ser recorridos para llegar a un
determinado vrtice.
Dependiendo del autor, el vrtice raz tiene nivel 0 1
Los hijos tendrn como nivel el de su padre + 1
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
5
Tipos de vrtices:
RAIZ: Vrtice distinguible, considerado el origen del rbol
PADRE: Vrtice del cul dependen uno o mas vrtices. Todos los
vrtices excepto el de la raz tiene padre
HIJO: Vrtice que desciende directamente del nodo padre
HERMANOS: Vrtices hijos del mismo nodo
ANCESTRO:
DESCENDIENTE
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Definiciones Bsicas Definiciones Bsicas
Definicin: Bosque
Un grafo G=(V,A) que no contiene ciclos se llama bosque.
Cada componente conexa de un bosque es un rbol.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles rboles
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
6
Propiedades Propiedades
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Propiedades de un rbol
Es un grafo conexo sin ciclos, es decir, 2 vrtices se conectan por un
nico camino simple.
Todo subgrafo de un rbol, es tambin un rbol.
Todo grafo conexo con menor nmero de aristas que de vrtices,
debe ser un rbol.
Propiedades:
1. Dados dos vrtices cualesquiera del rbol T=(X,E), existe una nica
cadena entre ellos.
2. Al eliminar una arista cualquiera del rbol T=(X,E), se obtiene un
grafo con dos componentes conexas, siendo cada una de ellas un
rbol.
3. Si T=(X,E) es un rbol con n vrtices y a aristas,entonces a = n - 1
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
Propiedades Propiedades
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Si a un rbol se aade una arista se genera un ciclo.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
7
Propiedades Propiedades
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Si se elimina otra arista del ciclo as obtenido se obtiene otro rbol,
no necesariamente isomorfo al anterior.
Si a un rbol se le aade un vrtice y una arista incidente en l, se
obtiene un nuevo rbol.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
Caracterizacin de los rboles Caracterizacin de los rboles
Teorema de caracterizacin de rboles:
Dado un grafo T=(V,A), son equivalentes las siguientes condiciones:
1. T es un rbol
2. Entre dos vrtices cualesquiera del grafo T existe una nica
cadena
3. T es conexo y al eliminar una arista cualquiera del grafo se
desconecta dando lugar a dos componentes conexas, que son
rboles
4. T es conexo y a = n - 1, siendo a el nmero de aristas y n el
nmero de vrtices
5. T no contiene ciclos y a= n -1, siendo a el nmero de aristas y n
el nmero de vrtices
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
8
Sub Sub--rbol rbol
Subrbol:
Son rboles que aparecen en otro rbol. Se dice que el el rbol L
1
aparece en otro rbol L
2
, si todos los del elemento del primero estn en
el segundo y adems cumplen la misma relacin jerrquica entre ellos.
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles rboles
Teorema:
Todo rbol con ms de un vrtice posee, al menos, dos vrtices de
grado 1.
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Demostracin:
Por induccin completa en el n de vrtices
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
9
rbol Generador rbol Generador
Un rbol generador (spanning tree) de un grafo G=(V, E) es un
rbol T=(V, E) con E subconjunto de E
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Todo grafo conexo posee un rbol generador
Dicho de otro modo, dado un grafo G, un rbol generador de G
es un subgrafo conexo de G que tiene los mismos vrtices que G
y no tiene circuitos.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Supongamos que a cada arista se le asocia un nmero positivo (su
peso). Un rbol generador se dice de peso mnimo si la suma de los
pesos de las aristas que lo componen es lo menor posible
Para calcular el rbol de peso mnimo existen 2 algoritmos:
Kruskal: Se van escogiendo las aristas de menor peso hasta
conseguir un rbol de peso mnimo
Prim: Consiste en ir borrando las aristas de mayor peso posible
y que no sean aristas de separacin.
Puede haber ms de un rbol generador de peso mnimo, pero todos
deben tener el mismo peso.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
10
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Algoritmo para construir el rbol de expansin mnima (PRIM):
1. Se selecciona, de manera arbitraria, cualquier nodo y se conecta (es
decir, se agrega una ligadura) al nodo distinto ms cercano.
2. Se identifica el nodo no conectado ms cercano a un nodo conectado
y se conectan estos dos nodos (es decir, se agrega una ligadura entre
ellos). Este paso se repite hasta que todos los nodos estn
conectados.
3. Empates: los empates para el nodo ms cercano distinto (paso 1) o
para el nodo no conectado ms cercano (paso 2), se pueden romper
en forma arbitraria y el algoritmo debe llegar a una solucin
optima.
No obstante, estos empates son seal de que pueden existir (pero no
necesariamente) soluciones optimas mltiples.
Todas esas soluciones se pueden identificar si se trabaja con las
dems formas de romper los empates hasta el final.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
11
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Ejemplo:
Este es el rbol original.
Los nmeros cerca de las
aristas indican el peso.
Ninguna de las aristas est
marcada, y el vrtice D ha
sido elegido arbitrariamente
como el punto de partida.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Primera Iteracin
El segundo vrtice es el ms
cercano a D:
A esta a 5 de distancia,
B a 9,
E a 15
F a 6.
De estos, 5 es el valor ms
pequeo, as que marcamos la
arista DA.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
12
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
El siguiente vrtice elegido es el
ms cercano a cualquiera de los
vrtices en el rbol que est
siendo construido.
En este caso D o A.
6 es el valor ms pequeo, as
que marcamos la arista DF.
Segunda Iteracin
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
El algoritmo continua.
El vrtice B, que est a una
distancia de 7 de A, es el siguiente
marcado.
En este punto la arista DB es
marcada en rojo porque sus dos
extremos ya estn en el rbol y por
lo tanto no podr ser utilizada
Tercera Iteracin
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
13
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Aqu hay que elegir entre C,
E y G.
E es el ms cercano y
marcamos BE.
Cuarta Iteracin
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Solo quedan
disponibles C y G.
C est a 5 de distancia
y G a 9.
Quinta Iteracin
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
14
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
G es el nico vrtice
pendiente, y est ms
cerca de E que de F
As que se agrega EG al
rbol.
Todos los vrtices estn
ya marcados
El rbol de expansin
mnimo se muestra en
verde.
En este caso con un peso
de 39.
Sexta Iteracin
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rbol Generador rbol Generador
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Ejemplo:
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
15
rboles Dirigidos rboles Dirigidos
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Un vrtice r es la raz de un digrafo si todos los vrtices son accesibles
desde l.
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles Enraizados rboles Enraizados
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
rbol con un vrtice destacado (raz).
Peso o altura del rbol
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
16
rbol Binario rbol Binario
rbol Binario:
Es un rbol donde todo vrtice que no es hoja tiene 0, 1 2 hijos.
rbol Binario Completo:
Es el rbol en el que todo vrtice que no es terminal tiene
asociados exactamente 2 subrboles no vacos ( hijos) y en el que
las hojas siempre estn en ultimo nivel
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
Propiedades de rboles Binarios Propiedades de rboles Binarios
Teorema:
El nmero de nodos del nivel i en un rbol binario es 2
i
El nmero de nodos n de un rbol binario de altura h verifica
n 2
h+1
-1
La altura h de un rbol binario de n nodos verifica
h log
2
(n+1) - 1
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
17
rboles rboles
rboles isomorfos:
Son isomorfos si los dos rboles tienen la misma estructura y el valor
de los nodos no es el mismo.
Enumeracin de Nodos:
En un rbol los nodos se pueden enumerar tal que a la raz de le
asigne el 1 , a todo nodo izquierdo se le asigne el doble de su padre y a
todo nodo derecho el doble de su padre + 1.
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles rboles
rbol Binario Ordenado:
Un rbol binario es ordenado cuando todos los elementos del lado
izquierdo son menores que la raz y los del lado derecho son mayores
que la raz
Tambin se le llama rbol binario de bsqueda
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
18
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Recorrido de rboles Binarios Recorrido de rboles Binarios
Recorrer el rbol es pasar por o visitar todos los
nodos del mismo.
Recorridos tpicos:
o Preorden
o Inorden
o Postorden
Otro tipo de recorridos
o Conversos
o Nivel por nivel
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Recorrido de rboles Binarios Recorrido de rboles Binarios
Recorrido Preorden
Proceso:
Visita el nodo raz del rbol.
Recorre en preorden el subrbol izquierdo del nodo raz.
Recorre en preorden el subrbol derecho del nodo raz.
Aplicacin: Generar una rplica del rbol.
21
13
33
10 18
25
40
21, 13, 10, 18, 33, 25, 40 Recorrido en Preorden
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
19
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Recorrido de rboles Binarios Recorrido de rboles Binarios
Recorrido Inorden
Proceso:
Recorre en inorden el subrbol izquierdo.
Visita la raz del rbol.
Recorre en inorden el subrbol derecho.
Aplicacin: Desplegar en orden creciente los elementos del rbol si
este es un ABB.
10, 13, 18, 21, 25, 33, 40 Recorrido en Inorden
21
13
33
10 18
25
40
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Recorrido de rboles Binarios Recorrido de rboles Binarios
21
13
33
10 18
25
40
Recorrido Postorden
Proceso:
Recorre en postorden el subrbol izquierdo.
Recorre en postorden el subrbol derecho.
Visita la raz del rbol.
Aplicacin: Liberar los nodos de un rbol.
10, 18, 13, 25, 40, 33, 21 Recorrido en Postorden
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
20
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Recorrido de rboles Binarios Recorrido de rboles Binarios
25
7
12
4
9
8
16
19
21
2
11
2, 4, 8, 11, 9, 7, 19, 16, 25, 21, 12
Recorrido en Postorden
2, 4, 7, 8, 9, 11, 12, 16, 19, 21, 25
Recorrido en Inorden
12, 7, 4, 2, 9, 8, 11, 21, 16, 19, 25
Recorrido en Preorden
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
rboles rboles
Ejemplo:
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Entre-orden: 3 2 5 1 8 6 7 4 9
Pre-orden: 1 2 3 5 4 6 8 7 9
Post-orden: 3 5 2 8 7 6 9 4 1
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
21
rboles rboles
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Ejemplo:
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Recorrido de rboles Binarios Recorrido de rboles Binarios
Ejemplo:
Dado 2 recorridos construir el rbol
%
$
A
&
#
A, %, &, $, #
Recorrido en Inorden
Recorrido en Preorden
$, %, A, &, #
El Preorden indica que la raz es: $
El Inorden indica quin est a la
izquierda y quin a la derecha
$
Paso
1
A, %, & #
El Preorden tambin indica cul es
el siguiente valor a procesar
Paso
2
%
$
#
A &
Paso
3
%
$
A
#
&
Paso
4
%
$
A &
#
Paso
5
$, %, A, &, # $, %, A, &, #
$, %, A, &, # $, %, A, &, #
$, %, A, &, #
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
22
Representacin de Expresiones Algebraicas Representacin de Expresiones Algebraicas
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
((a - 6) * b ) / (c - a)
Caractersticas:
Se utilizan rboles binarios en los que los vrtices terminales u hojas
representan los operandos mientras que la raz y los vrtices
intermedios representan los operadores
Ejemplo:
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
Tipos de Notacin Tipos de Notacin
Infija: Se obtiene al recorrer el rbol en entreorden
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Prefija: Se obtiene al recorrer el rbol en preorden
Postfija: Se obtiene al recorrer el rbol en postorden
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
23
Representacin de Expresiones Algebraicas Representacin de Expresiones Algebraicas
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Ejemplo:
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
Representacin de Expresiones Algebraicas Representacin de Expresiones Algebraicas
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Ejemplo:
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
24
Representacin de Expresiones Algebraicas Representacin de Expresiones Algebraicas
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Ejemplo:
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
Representacin de Expresiones Algebraicas Representacin de Expresiones Algebraicas
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S
Ejemplo:
Dra. Dra. Norka Norka Bedregal Alpaca Bedregal Alpaca
25
FIN
A

R

B

O

L

E

S
A

R

B

O

L

E

S
A

R

B

O

L

E

S

You might also like