7/22/2019 Arboles y Cadenas Ppt
1/65
ARBOL
y
CADENA POLACAS
1Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
2/65
ARBOLDefinicion
Un rbol T(V, A) es un grafo conexo acclico deestructura jerrquica 2-tuple.
Donde:V = {conjunto de nodos}
A = {conjunto de aristas}
Para cualquier rbolSi |V|=n
.. |A|=n-1
A
B D
E F
C
2Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
3/65
ARBOL ENRAIZADO Un rbol T(V,A) es enraizado cuando los nodos tienen almenos un descendiente.
raizT: --------------------------- 0
---------------- 1
---------- 2
------------ 3
/N/ = 14 , /A/ = 13Nodo Interno [A,B,D,F,J]Nodos Terminales (Hojas) [C,E,G,H,I,K,L,M,N]En todos los nodos, su peso es 1 (W=1)
A
B
E
DC
GF JIH
MLK N
3Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
4/65
ARBOL BINARIO
Un rbol T(V,A) es binario cuando todoslos nodos tienen a lo mas dos
descendientes. Todo rbol binario tieneuna estructura bien definida.
SubIzq SubDer
N
L R
4Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
5/65
ARBOL BINARIO
T:
N = numero de nodos= 9 ,
A= numero de arcos = 8
A
B
D
C
E GF
IH
0
1
2
3
5Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
6/65
ARBOL BINARIO rbol binario con variables punteros.1. Puntero Raz Raz
2. Puntero Nodo Cabecera
A
B
D
C
E GF
IH
Raz
6Matematicas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
7/65
rbol binario con nodo cabecera
A
B
D
C
E GF
IH
7Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
8/65
rbol binario ponderado y M
T: T:20
70 50
2 10 25 35
45 15
Wi: peso
ARBOL (MASCARA)
8Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
9/65
ELEMENTOS DE UN ARBOL RAIZ: Es el puntero que apunta al nodo padre NODO PADRE: Es el nodo del cual descienden todos
los hijos. NODO HIJO: Es el nodo que tiene el mismo padre. NODO HERMANO: Es el nodo que esta al mismo
nivel y desciende del mismo padre. HOJA (Nodos Terminales): Es el nodo que ya no
tiene ms descendientes. DESCENDIENTES: Cualquier nodo que tiene el
mismo antecesor. ANTECESOR: Es el nodo padre. ANTEPASADO: Son todos los antecesores. ANCESTRO: Es el nodo padre raz.
9Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
10/65
ARBOL
GRADO O VALENCIA DE UN NODOEs el numero de descendientes directos decada nodo.
CAMINO
Es una secuencia finita de arcos continuos LONGITUD DE CAMINOEs el numero de arcos que contiene esecamino.
ALTURAEs la longitud de ese nodo hasta las hojas PROFUNDIDAD
Es la longitud desde la raz hasta ese nodo
10Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
11/65
ARBOL
RAIZ
ESE NODO
HOJA
Ejemplo:
Altura(A) = 4
Prof(A) = 0
Prof(H) = 3
A
B
D
C
E GF
IH
J
Profundidad
Altura
11Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
12/65
ARBOL EXTENDIDO
Un rbol es extendido si en cualquier nodo seenlaza nodos cuadrados de valencia par.
T:0
1
2
3
12Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
13/65
LONGITUDES1. Longitud Interna =
Long. Interna =1*0+2*1+3*2 = 8
2. Longitud Extendida
=1*2 + 6*3 = 203. Longitud Extendida
Ponderada
long. ext =
2*2+3(1+2+2+2+3+4) =46
2
1 2 2 2 3 4
0
1
2
3
13Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
14/65
TRANSFORMACION DE UN
ARBOL EN BINARIOAB
E
DC
GF JIH
MLK
A
B
E
F
G
C
D
H
IJ
K
L
M 14Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
15/65
TIPO DE ARBOLES
1. ARBOL LLENO
Cuando todas las
hojas estn almismo nivel.
n(N) = 2n+1 1 ,
n= n de nivel
Crear un rbol lleno de nivel 3N = 3 , n(N) = 24 1 = 15
0
1
2
3
15Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
16/65
ARBOL COMPLETO
Cuando todos losnodos internos estn
llenos hasta alsiguiente al ultimonivel y con las hojasdel ultimo nivel toma
mas a la izquierdacomo sea posible.
n(N) = 2n + 1
n = n de nivel
Crear un rbol de nivel 3.
Si n = 3 entonces n(N) = 9
0
2
1
3
16Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
17/65
ARBOL EQUILIBRADO
Cuando todo interno se diferencia a lo masen uno.
1)/altura(subIZQ) - altura(subDER)/
7/22/2019 Arboles y Cadenas Ppt
18/65
ARBOL EQUILIBRADO EJM: Crear un rbol equilibrado de nivel 5
K6 = K5 + 1 + K4 = 20
K5 = K4 + 1 + K3 = 12
K4 = K3 + 1 + K2 = 7
K3 = K2 + 1 + K1 = 4
K2 = K1 + 1 + K0 = 2
12
7
4
2
1 0
1
7
4
2
18Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
19/65
rbol equilibrado de nivel 50
1
2
3
5
4
19Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
20/65
ARBOL DE BUSQUEDA BINARIA
Ni Nsubizq y Ni Nsubder
Ni
N N
SUBIZQ SUBDER
C A R M E N
C
A R
M
E N
20Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
21/65
rbol de bsqueda Binaria
Un rbol T(V,A) es un rbol de bsqueda binaria (ABB) sicumple:SubIzq (Hi 1) = Hi
Clear un arbol de busqueda binariaMe defino A B C D E F G H I
IFD
E
B H
A
21
7/22/2019 Arboles y Cadenas Ppt
22/65
rbol de bsqueda Binaria
Dado: 70 30 45 10 100 50 80 2 35 200,CREAR ABB
2008045
70
30 100
10
50352
rbol Ponderado
22Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
23/65
rbol de bsqueda Binaria
Dado una mascara Crear un ABB
alfabetico
I
D R
N
L O
J M
S
0
1
2
3
23
4
Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
24/65
RBOL DE HUFFMANN
Es til para codificar la informacin y seobtiene operando los dos pesos menores
cada vez.
Veamos algunos ejemplos:
24Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
25/65
rbol de Huffman
EJEMPLO
Info G R A F F OW 22 5 11 19 2 6
22 5 11 19 2 622 7 11 19 622 13 11 1922 24 1941 24
65
2219
13
65
24 41
11
6 7
25
0
0
0
0
0
1
11
1
1
A
O
F
F
R
G
25
A O F R F G
Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
26/65
rbol de Huffman Grafo: 11 0111 00 10 0110 010
G R A F F ORepresentacion en memoria
Lista: Info W SubIzq SubDer
Info W SubIzq SubDer
1 G 22 0 02 R 5 0 0
3 A 11 0 0
4 F 19 0 0
5 F 2 0 0
6 O 6 0 0
7 7 5 2
8 13 6 7
9 24 3 8
10 41 4 1
11 65 9 10
12 13 0
13 0 0
14 12 026
7/22/2019 Arboles y Cadenas Ppt
27/65
rbol de Huffman
0.05 0.09 0.12 0.45 0.16 0.13
0.14 0.12 0.45 0.16 0.13
0.14 0.25 0.45 0.16
0.30 0.25 0.45
0.55 0.451.00
M A T D I S
0.05 0.09 0.12 0.45 0.16 0.13
0.45
0.300.25
1.00
0.55
0.12 0.13
0.05 0.09
0.160.14
D
ST
M A
I
27Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
28/65
28Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
29/65
29Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
30/65
30Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
31/65
Representacin en Memoria
31Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
32/65
rbol del montculo
A la secuencia de nodos:
Hi , Hi+1, Hi+2, HDdiv2 , HDdiv2+1 , HD
Se llama rbol de montculo: SiHi
7/22/2019 Arboles y Cadenas Ppt
33/65
rbol del montculo
i = 4, 5, 6
Para i = 4: H4 = E
7/22/2019 Arboles y Cadenas Ppt
34/65
Arbol : Algoritmo de Filtracion
E
I I
I M O S
M L T
E
M I
L I O S
M I T
L
M
E M I L I O S M I T
1 2 3 4 5 6 7 8 10 11
34Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
35/65
Representacin en Memoria
F
B H
A D G I
EC
Info Izq Der
1 H 9 6
2 E 0 0
3 A 0 0
4 F 7 1
15 C 0 0
6 I 0 0
7 B 3 11
8 10 0
9 G 0 0
10 0 0
11 D 5 2
12 8 0
12
Inicio
NDISP
IZQ INFO DER
35Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
36/65
Representacin en Memoria de un rbol
36Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
37/65
Representacin Enlazada
F
B H
A D G I
C E
De un arbol Binario
37Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
38/65
Representacin Enlazada
38Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
39/65
Operacin en un rbol de BBPRIMER CASO
1) Elimina de una Hoja
F
B H
A D
C E
F
B H
A D
C
39Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
40/65
Eliminacin de un Nodo
SEGUNDO CASO
2) Eliminacin con 1 solo descendienteEl puntero padre salta al nodo suprimido y apunta al hijo
del nodo que queremos suprimir
F
B H
A I
F
A I
40Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
41/65
Eliminacin de un Nodo (3er caso)
3) Eliminacin de 1 nodo con 2 descendientes SubIzq { el nodo es aquel que es el ms prximo y que
precede inmediatamente al que se esta suprimiendo.
SubDer { el valor es aquel que sigue inmediatamente al
que esta suprimiendoF
B H
A D G I
EC
F
C H
A D G I
E
41Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
42/65
Un puntero padre salta del nodo suprimido yapunta al hijo del nodo que queremos
suprimir
Sub Izq El valor es aquel que es el mas prximo y
que precede inmediatamente al que le estasuprimiendo.Sub Derecho El valor es aquel que sigue inmediatamente
al que se esta suprimiendo.
42Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
43/65
Recorridos en un rbol
A.- Inorden
B.-Preorden
C.-Postorden
43Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
44/65
44Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
45/65
45Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
46/65
46Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
47/65
Ejemplo:
47Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
48/65
48
7/22/2019 Arboles y Cadenas Ppt
49/65
49Matematicas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
50/65
CADENA POLACA
Polaca Lukasiewice implant el rbol de una
expresin aritmtica para obtener la cadena
infija, prefija y posfija.
Hacemos evaluaciones utilizando el concepto
de pila.
50Matematicas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
51/65
CADENA POLACA
EXPRESION ARITMTICA:tenemos dos:operandos: letras minsculas
operadores : ( )
/ * div mod+ -
51Matematicas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
52/65
CADENA POLACAGeneracin de un rbol Expresin aritmtica
1.dc
ba
+
/
-
a b c d
operadores
info
a b c d
1 2 3 4
52Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
53/65
CADENA POLACA
Ejemplo :
a
+
*+
//
a /f*
a
dc*
b c d1 2
(a* b+c*d)/a*f + (a c)/ d 1/2
53Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
54/65
CADENA POLACA
Obtener la cadena infija, prefija y posfija dela siguiente expresin:
a x + b x + c = 0
bs
bb
a
acbbx
a
acbbx
*
*1
2
4
2
4
2
2
54Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
55/65
Recorridos de un rbol
INFIJA
Ejemplo:
a ( b + c ) d / e
Recorrido Infijo:
a * b + c- d / e
a d+ e
cb
-
* /
55Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
56/65
Recorridos de un rbol
PREFIJA
Ejemplo:a ( b + c ) d / e
Recorrido prefijo:- * a + b c / d e
a d+ e
cb
-
* /
56Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
57/65
Recorridos de un rbol
POSTFIJA
Ejemplo:a ( b + c ) d / e
Recorrido posfijo:a b c + * d e / -
a d+ e
cb
-
* /
57Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
58/65
RECORRIDOS
Ejemplo:
CADENA INFIJA:b c /a +d e
CADENA PREFIJA:
+ b / c a d e CADENA POSFIJA:
b c a / d e +
+
b / d e
c d
58Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
59/65
PILAS Es una estructura dinmica en donde las inserciones y eliminaciones
se hacen a travs de la cima, utilizando el principio:
Ultimo en llegar primero en salir
L I F O
Last In First Out
cima
59Matemticas Discretas: Daniel Quinto Pazce
Push ( ) Pop ( )
Depila Empila
7/22/2019 Arboles y Cadenas Ppt
60/65
Pilas
Empila de menor a mayor:Cadena (vaca)
*/
+
cima
Desempilar
Empilar
E
60Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
61/65
Evaluacin Manual
5(6+2)-8/4 -
2
4+
/*
5
6
8
- * 5 + 6 2 / 8 4
8 2
40
38
Cadena PREFIJA
61Matemticas Discretas: Daniel Quinto Pazce
7/22/2019 Arboles y Cadenas Ppt
62/65
USANDO EL MTODO DE PILA
5 6 2 + * 8 4 / -Smbolo Pila
5 5
6 5 6
2 5 6 2
+ 5 8
* 40
12 40 8
4 40 8 4
/ 40 2
- 38
62Matemticas Discretas: Daniel Quinto Pazce
Cadena Postfija
7/22/2019 Arboles y Cadenas Ppt
63/65
TRANSFORMACION DE INFIJA A POSFIJA
a * ( b + c ) d / e
63Matemticas Discretas: Daniel Quinto Pazce
Se debe tener la expresin de la cadena enforma origina de infija; los operadores semanejan de acuerdo a sus prioridades,como se muestra en el ejemplo siguiente:
TRANSFORMACION DE INFIJA A POSFIJA
7/22/2019 Arboles y Cadenas Ppt
64/65
64Matemticas Discretas: Daniel Quinto Pazce
Smbolos Pilas Cadena postfija
( (
a ( a* (* a
( (*( a
b (*( a b
+ (*(+ a b
C (*(+ a b c) (* a b c +
- (- a b c + *
d (- a b c + * d
/ ( - / a b c + * d
e ( - / a b c + * d e) E a b c + * d e / -
TEMA DELA ARBOL BINARIO
7/22/2019 Arboles y Cadenas Ppt
65/65
FIN