You are on page 1of 68

ARBOL

y
CADENA POLACAS
Semestre 2013-II
Mg. Daniel Quinto Pazce
1 Matemticas Discretas: Daniel Quinto Pazce
ARBOL
Definicion
Un rbol T(V, A) es un grafo conexo acclico de
estructura jerrquica 2-tuple.
Donde:
V = {conjunto de nodos}
A = {conjunto de aristas}
Para cualquier rbol
Si |V|=n
.. |A|=n-1
A
B D
E F
C
2 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
ARBOL ENRAIZADO
Un rbol T(V,A) es enraizado cuando los nodos tienen al
menos un descendiente.
raiz
T: --------------------------- 0
---------------- 1
---------- 2
------------ 3
/N/ = 14 , /A/ = 13
Nodo 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
D C
G F J I H
M L K N
3 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
ARBOL BINARIO
Un rbol T(V,A) es binario cuando todos
los nodos tienen a lo mas dos
descendientes. Todo rbol binario tiene
una estructura bien definida.
SubIzq SubDer
N
L
R
4 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
ARBOL BINARIO
T:
N = numero de nodos= 9 ,
A= numero de arcos = 8
A
B
D
C
E G F
I H
0
1
2
3
5 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
ARBOL BINARIO
rbol binario con variables punteros.
1. Puntero Raz Raz
2. Puntero Nodo Cabecera
A
B
D
C
E G F
I H
Raz
6 Matematicas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol binario con nodo cabecera
A
B
D
C
E G F
I H
7 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol binario ponderado y M
T: T:
20
70 50
2 10 25 35
45 15
W
i
: peso
ARBOL (MASCARA)
8 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
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.
9 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
ARBOL
GRADO O VALENCIA DE UN NODO
Es el numero de descendientes directos de
cada nodo.
CAMINO
Es una secuencia finita de arcos continuos
LONGITUD DE CAMINO
Es el numero de arcos que contiene ese
camino.
ALTURA
Es la longitud de ese nodo hasta las hojas
PROFUNDIDAD
Es la longitud desde la raz hasta ese nodo
10 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
ARBOL
RAIZ
ESE NODO
HOJA
Ejemplo:
Altura(A) = 4
Prof(A) = 0
Prof(H) = 3
A
B
D
C
E G F
I H
J
Profundidad
Altura
11 Matemticas Discretas: Daniel Quinto Pazce
0
1
2
3
4
ARBOL EXTENDIDO
Un rbol es extendido si en cualquier nodo se
enlaza nodos cuadrados de valencia par.
T:
0
1
2
3
12 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
LONGITUDES
1. Longitud Interna =
Long. Interna =1*0+2*1+3*2 = 8
2. Longitud Extendida
=1*2 + 6*3 = 20
3. 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
13 Matemticas Discretas: Daniel Quinto Pazce
TRANSFORMACION DE UN
ARBOL EN BINARIO
A
B
E
D C
G F J I H
M L K
A
B
E
F
G
C
D
H
I
J
K
L
M
14 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
TIPO DE ARBOLES
1. ARBOL LLENO
Cuando todas las
hojas estn al
mismo nivel.
n(N) = 2
n+1
1 ,
n= n de nivel
Crear un rbol lleno de nivel 3
N = 3 , n(N) = 2
4
1 = 15
0
1
2
3
15 Matemticas Discretas: Daniel Quinto Pazce
ARBOL COMPLETO
Cuando todos los
nodos internos estn
llenos hasta al
siguiente al ultimo
nivel y con las hojas
del ultimo nivel toma
mas a la izquierda
como sea posible.
n(N) = 2
n
+ 1
n = n de nivel
Crear un rbol de nivel 3.
Si n = 3 entonces n(N) = 9
0
2
1
3
16 Matemticas Discretas: Daniel Quinto Pazce
ARBOL EQUILIBRADO
Cuando todo interno se diferencia a lo mas
en uno.
1)/altura(subIZQ) - altura(subDER)/ <=1
/altura(subDER) - altura(subIZQ)/ <=1
2) Relacin Recursiva para n(nodos)
K
n
= K
n
-1 + 1 + K
n-2
, K
1
=1 , K
0
= 0
Obs: n = n de nivel a partir de n+1
17 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
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
18 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol equilibrado de nivel 5
0
1
2
3
5
4
19 Matemticas Discretas: Daniel Quinto Pazce
ARBOL DE BUSQUEDA BINARIA
Ni N
subizq
y Ni N
subder
N
i
N N
SUBIZQ SUBDER
C A R M E N
C
A R
M
E N
20 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol de bsqueda Binaria
Un rbol T(V,A) es un rbol de bsqueda binaria (ABB) si
cumple:
SubIzq (Hi 1) <= Hi
SubDer (Hi + 1) >= Hi
Clear un arbol de busqueda binaria
Me defino A B C D E F G H I
I F D
E
B
H
A
21
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol de bsqueda Binaria
Dado: 70 30 45 10 100 50 80 2 35 200,
CREAR ABB
200 80 45
70
30 100
10
50
35 2
rbol Ponderado
22
Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
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
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
RBOL DE HUFFMANN
Es til para codificar la informacin y se
obtiene operando los dos pesos menores
cada vez.
Veamos algunos ejemplos:
24 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol de Huffman
EJEMPLO
Info G R A F F O
W 22 5 11 19 2 6
22 5 11 19 2 6
22 7 11 19 6
22 13 11 19
22 24 19
41 24
65
22
19
13
65
24
41
11
6 7
2
5
0
0
0
0
0
1
1
1
1
1
A
O
F
F
R
G
25
A O F R F G
Matemticas Discretas: Daniel Quinto Pazce
rbol de Huffman
Grafo: 11 0111 00 10 0110 010
G R A F F O
Lista: Representacion en memoria
Info W SubIzq SubDer
Info W SubIzq SubDer
1 G 22 0 0
2 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 0
26
NDISP
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
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.45
1.00
M A T D I S
0.05 0.09 0.12 0.45 0.16 0.13
0.45
0.30
0.25
1.00
0.55
0.12
0.13
0.05 0.09
0.16 0.14
D
S
T
M A
I
27
Matemticas Discretas: Daniel Quinto Pazce
28 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
29 Matemticas Discretas: Daniel Quinto Pazce
30 Matemticas Discretas: Daniel Quinto Pazce
Representacin en Memoria
31 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol del montculo
A la secuencia de nodos:
Hi , Hi+1, Hi+2, HDdiv2 , HDdiv2+1 , HD
Se llama rbol de montculo: Si
Hi <= H2i
Hi <= H2i+1
En esta definicin de Montculos no se exige relacin
Alguna entre los elementos HDdiv2+ HDdiv2+1 + HD
, ... 2 i i i D div
32
Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
rbol del montculo
i = 4, 5, 6
Para i = 4: H4 = E <= I = H8
H4 = E <= O = H9
Para i = 5: H5 = M <= S = H10
H5 = M <= M = H11
Para i = 6: H6 = I <= I = H12
H6 = I <= T = H13
E M I L I O S M I T
4 5 6 7 8 9 10 11 12 13
E
I O
4
8
9
S
M
M
5
10 11
I
I T
6
12 13
No tiene relacin L
33
7
L
Matemticas Discretas: Daniel Quinto Pazce
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
34
Matemticas Discretas: Daniel Quinto Pazce
Representacin en Memoria
F
B H
A D G I
E C
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
35 Matemticas Discretas: Daniel Quinto Pazce
Representacin en Memoria de un rbol
36 Matemticas Discretas: Daniel Quinto Pazce
Representacin Enlazada
F
B H
A D G I
C E
De un arbol Binario
37
Matemticas Discretas: Daniel Quinto Pazce
Representacin Enlazada
38 Matemticas Discretas: Daniel Quinto Pazce
Operacin en un rbol de BB
PRIMER CASO
1) Elimina de una Hoja
F
B H
A D
C E
F
B H
A D
C
39
Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
Eliminacin de un Nodo
SEGUNDO CASO
2) Eliminacin con 1 solo descendiente
El puntero padre salta al nodo suprimido y apunta al hijo
del nodo que queremos suprimir
F
B H
A I
F
A I
40
Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
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 suprimiendo
F
B H
A D G I
E C
F
C H
A D G I
E
41
Matemticas Discretas: Daniel Quinto Pazce
Un puntero padre salta del nodo suprimido y
apunta 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 esta
suprimiendo.
Sub Derecho
El valor es aquel que sigue inmediatamente
al que se esta suprimiendo.
42 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
Recorridos en un rbol
A.- Inorden
B.-Preorden
C.-Postorden
43 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
44 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
45 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
46 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
Ejemplo:
47 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
Recorridos de un rbol
Inorden: A B C D E F G H I
Preorden: F B A D C E H G I
Postorden: A C E D B G I H F
F
B H
A D G I
E C
F
B H
A D G I
E C
F
B H
A D G I
E C
48
49
50 Matematicas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
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.
51 Matematicas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
CADENA POLACA
EXPRESION ARITMTICA:
tenemos dos:
operandos: letras minsculas
operadores : ( )
/ * div mod
+ -
52 Matematicas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
CADENA POLACA
Generacin de un rbol Expresin aritmtica
1.
d c
b a
+
/
-
a
b c d
Operadores
Nodos internos
info
a b c d
1 2 3 4
53 Matemticas Discretas: Daniel Quinto Pazce
Expresin Aritmtica
b)
*
a b 2 c
-
54
d
-
+
f
g g
)) ( ( 2
) (
f g d
c ab
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
Expresin Aritmtica
b)
*
3
a b 2 c
-
55
3
2
ab c
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
CADENA POLACA
Ejemplo :
a
+
* +
/ /
a / f
*
a
d c *
b c d
1 2
(a* b+c*d)/a*f + (a c)/ d 1/2
56 Matemticas Discretas: Daniel Quinto Pazce
CADENA POLACA
Obtener la cadena infija, prefija y posfija de
la siguiente expresin:
a x + b x + c = 0
b s
b
b
a
ac b b
x
a
ac b b
x
*
* 1
2
4
2
4
2
2
57 Matemticas Discretas: Daniel Quinto Pazce
Recorridos de un rbol
INFIJA
Ejemplo:
a ( b + c ) d / e
Recorrido Infijo:
a * b + c- d / e
a
d + e
c b
-
* /
58 Matemticas Discretas: Daniel Quinto Pazce
Recorridos de un rbol
PREFIJA
Ejemplo:
a ( b + c ) d / e
Recorrido prefijo:
- * a + b c / d e
a
d + e
c b
-
* /
59 Matemticas Discretas: Daniel Quinto Pazce
Recorridos de un rbol
POSTFIJA
Ejemplo:
a ( b + c ) d / e
Recorrido posfijo:
a b c + * d e / -
a
d + e
c b
-
* /
60 Matemticas Discretas: Daniel Quinto Pazce
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
61 Matemticas Discretas: Daniel Quinto Pazce
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
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
62 Matemticas Discretas: Daniel Quinto Pazce
Push ( )
Pop ( )
Depila
Empila
Pilas
Empila de menor a mayor:
Cadena (vaca)
*
/
+
cima
Depilar
Empilar
Pila vaca
63 Matemticas Discretas: Daniel Quinto Pazce
-
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
Evaluacin Manual
5(6+2)-8/4
-
2
4 +
/ *
5
6
8
- * 5 + 6 2 / 8 4
8 2
40
38
Cadena PREFIJA
64 Matemticas Discretas: Daniel Quinto Pazce
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
65 Matemticas Discretas: Daniel Quinto Pazce
Cadena Postfija
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
TRANSFORMACION DE INFIJA A POSFIJA
a * ( b + c ) d / e
66 Matemticas Discretas: Daniel Quinto Pazce
Se debe tener la expresin de la cadena en
forma origina de infija; los operadores se
manejan de acuerdo a sus prioridades,
como se muestra en el ejemplo siguiente:
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
TRANSFORMACION DE INFIJA A POSFIJA
67 Matemticas 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 / -
F
I
S
I
-
D
a
n
i
e
l

Q
u
i
n
t
o

P
a
z
c
e
-
L
o
g
i
c
a

M
.
TEMA DELA ARBOL BINARIO
68 Matemticas Discretas: Daniel Quinto Pazce
FIN

You might also like