You are on page 1of 69

ARBOL

y
CADENA POLACAS

Semestre 2017-1

Prof. Daniel Quinto Pazce

Matemticas Discretas: Daniel Quinto Pazce 1


ARBOL
Definicion

Un rbol T(V, A) es un grafo conexo acclico de

FISI- Daniel Quinto Pazce- Logica M.


estructura jerrquica 2-tuple.
Donde:
A
V = {conjunto de nodos}
A = {conjunto de aristas} B C D

Para cualquier rbol


Si |V|=n E F
.. |A|=n-1

Matemticas Discretas: Daniel Quinto Pazce 2


ARBOL ENRAIZADO
Un rbol T(V,A) es enraizado cuando los nodos tienen al menos
un nodo hijo descendiente.
Nodo: raz
T: A --------------------------- 0

FISI- Daniel Quinto Pazce- Logica M.


B C D ---------------- 1

E F G H I J ---------- 2

K L M N ------------ 3

INI = 14 , IAI = 13 los arc. siempre es uno menos que los nodos
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 (W=1).
Matemticas Discretas: Daniel Quinto Pazce 3
ARBOL BINARIO

Un rbol T(V,A) es binario cuando todos

FISI- Daniel Quinto Pazce- Logica M.


los nodos tienen a lo ms dos
descendientes. Todo rbol binario tiene
una estructura bien definida, con los V, A
N

L R

SubIzq SubDer

Matemticas Discretas: Daniel Quinto Pazce 4


ARBOL BINARIO
Raz Niveles

T: A 0

FISI- Daniel Quinto Pazce- Logica M.


B C 1

D E F G 2

H I 3

INI = numero de nodos= 9


IAI= numero de arcos = 8
Nodo A = Nodo Padre raz.
Matemticas Discretas: Daniel Quinto Pazce 5
ARBOL BINARIO
rbol binario, con puntero raz.
1. Puntero Raz

FISI- Daniel Quinto Pazce- Logica M.


2. Puntero Nodo Cabecera

Raz
A

B C

D E F G

H I
Matematicas Discretas: Daniel Quinto Pazce 6
rbol binario con nodo cabecera
Llamado rbol Enhebrado

FISI- Daniel Quinto Pazce- Logica M.


A

B C

D E F G

H I

Matemticas Discretas: Daniel Quinto Pazce 7


rbol binario ponderado
Todos los nodos tiene Peso, denotado w ARBOL (MASCARA)

20

FISI- Daniel Quinto Pazce- Logica M.


T: T:
Wi: peso 70 50

2 10 25 35

45 15

Matemticas Discretas: Daniel Quinto Pazce 8


ELEMENTOS DE UN ARBOL
RAIZ: Es el puntero que apunta al nodo padre raz
NODO PADRE RAZ: Es el nodo del cual descienden
todos los hijos.

FISI- Daniel Quinto Pazce- Logica M.


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.

Matemticas Discretas: Daniel Quinto Pazce 9


GRADO - NODO
GRADO O VALENCIA DE UN NODO
Es el numero de descendientes directos de
cada nodo.

FISI- Daniel Quinto Pazce- Logica M.


CAMINO
Es una secuencia finita de arcos continuos
LONGITUD DE CAMINO
Es el numero de arcos que contiene ese
camino; coincide con el N de nivel del rbol
ALTURA
Es la longitud de ese nodo hasta las hojas
PROFUNDIDAD
Es la longitud desde la raz hasta ese nodo
Matemticas Discretas: Daniel Quinto Pazce 10
ALTURA Y PROFUNDIDAD
Ejemplo:
A 0
RAIZ
Profundidad B C 1

ESE NODO
D E F G 2
Altura

HOJA H I 3

J 4
Altura(A) = 4
Prof(A) = 0
Prof(H) = 3

Matemticas Discretas: Daniel Quinto Pazce 11


ARBOL EXTENDIDO
Un rbol es extendido si en cualquier nodo se

FISI- Daniel Quinto Pazce- Logica M.


enlaza nodos cuadrados de valencia par.
0
T:
1

Matemticas Discretas: Daniel Quinto Pazce 12


LONGITUDES
1.Longitud Interna =

Long. Interna =1*0+2*1+3*2 = 8


0
2. Longitud Extendida
=1*2 + 6*3 = 20
1
3. Longitud Extendida
Ponderada
2 2
long. Ext. Pond =
2*2+3(1+2+2+2+3+4) =46
1 2 2 2 3 4 3

Matemticas Discretas: Daniel Quinto Pazce 13


TRANSFORMACION DE UN ARBOL
ENRAIZADO EN ARBOL BINARIO
A A

B C D B

FISI- Daniel Quinto Pazce- Logica M.


E F G H I J E C

K L M F D

G H
I
J
K
L

Matemticas Discretas: Daniel Quinto Pazce


M 14
TIPO DE ARBOLES
Crear un rbol lleno de nivel 3
n = 3 , N(3) = 24 1 = 15
1. ARBOL LLENO
0
Cuando todas las
hojas estn al 1

mismo nivel. 2

N(n) = 2n+1 1 , 3
n= n de nivel
Ejemplo:

Matemticas Discretas: Daniel Quinto Pazce 15


ARBOL COMPLETO
Crear un rbol de nivel 3.
Cuando todos los nodos Si n = 3 entonces N(3) = 9
internos estn llenos
hasta el siguiente, al 0
ultimo nivel, y con las
hojas del ultimo nivel 1
toma mas a la izquierda
como sea posible. 2
N(n) = 2n + 1
n = n de nivel 3

Ejemplo:
Matemticas Discretas: Daniel Quinto Pazce 16
ARBOL EQUILIBRADO
Cuando cada nodo interno se diferencia a lo
mas en uno; por definicin de su altura.

FISI- Daniel Quinto Pazce- Logica M.


1) Ialtura(subIZQ) - altura(subDER)I <=1
Ialtura(subDER) - altura(subIZQ)I <=1
2) Formula de Recursividad para n(nodos)
Kn = Kn-1 + 1 + Kn-2 , K1 =1 , K0 = 0
Donde: n = n de nivel, n = n+1

Matemticas Discretas: Daniel Quinto Pazce 17


ARBOL EQUILIBRADO
Ejemplo: Crear un rbol equilibrado de nivel 5, n= 5+1
K6 = K5 + 1 + K4 = 20
7

FISI- Daniel Quinto Pazce- Logica M.


12

K5 = K4 + 1 + K3 = 12
7 4

K4 = K3 + 1 + K2 = 7
4 2

K3 = K2 + 1 + K1 = 4
2 1

K2 = K1 + 1 + K0 = 2
1 0

Matemticas Discretas: Daniel Quinto Pazce 18


rbol equilibrado de nivel 5
0

Matemticas Discretas: Daniel Quinto Pazce 19


ARBOL DE BUSQUEDA BINARIA
Dado
C A R M E N
Ni Nsubizq y Ni Nsubder

FISI- Daniel Quinto Pazce- Logica M.


Ni C

A R
N N
M
SUBIZQ SUBDER
E N

ARBOL DE BUSQUEDA BINARIA, CUANDO CADA NODO ES MAYOR QUE CUALQUIER SUB ARBOL
IZQUIERDO Y MENOR QUE CUALQUIER SUB ARBOL DERECHO.

Matemticas Discretas: Daniel Quinto Pazce 20


rbol de bsqueda Binaria
Un rbol T(V,A) es un rbol de bsqueda binaria (ABB) si
cumple:
SubIzq (Hi 1) <= Hi

FISI- Daniel Quinto Pazce- Logica M.


SubDer (Hi + 1) >= Hi
Crear un rbol de bsqueda binaria de nivel 2.
Defino A B C D E F G H I
E

Arbol alfabetico
B H

A D F I

21
rbol de bsqueda Binaria
Dado: 70 30 45 10 100 50 80 2 35 200,
CREAR ABB

FISI- Daniel Quinto Pazce- Logica M.


70
rbol Ponderado
30 100

10 45 80 200

2 35 50

EN ESTE EJEMPLO, EL DATO ES DADO; ENTONCES SE EMPIEZA A GENERAR EL ARBOL DESDE EL


INICIO, ES DECIR TOMANDO 70 COMO PADRE RAIZ.

Matemticas Discretas: Daniel Quinto Pazce 22


rbol de bsqueda Binaria
Dado una mascara
Crear un ABB de I
tipo alfabetico 0

FISI- Daniel Quinto Pazce- Logica M.


D R 1

ABCDEFGHIJKLMNOPQRSWXYZ
N S 2

L O 3

J M
4

Matemticas Discretas: Daniel Quinto Pazce


23
RBOL DE HUFFMANN

Es til para codificar la informacin y se

FISI- Daniel Quinto Pazce- Logica M.


obtiene operando los dos pesos menores
cada vez, y abarcando triangularmente
hacia la izquierda. Los datos pueden ser
numrico, o tipo probabilstico.
Veamos algunos ejemplos:

Matemticas Discretas: Daniel Quinto Pazce 24


rbol de Huffman
EJEMPLO numrico

Info G R A F F O
W 22 5 11 19 2 6 65
0 1
22 5 11 19 2 6 24 41
22 7 11 19 6
0 1 0 1
22 13 11 19
22 24 19 A 11 13 19 22
41 24 0 1 F G
65 6 7
O
Info. De las Hojas: AOFRFG 0 1
2
5
F
R

Matemticas Discretas: Daniel Quinto Pazce


25
rbol de Huffman- Representa. Memoria
Grafo: 11 0111 00 10 0110 010
G R A F F O

Lista:
Info W SubIzq SubDer

FISI- Daniel Quinto Pazce- Logica M.


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
NDISP 10 41 4 1
11 65 9 10
12 13 0
13 0 0
14 12 0

26
rbol de Huffman - Probabilstico
M A T D I S
0.05 0.09 0.12 0.45 0.16 0.13

1.00
0.05 0.09 0.12 0.45 0.16 0.13
0.14 0.12 0.45 0.16 0.13 0.45 0.55

0.14 0.25 0.45 0.16 D


0.25
0.30 0.25 0.45 0.30

0.55 0.45 0.13


0.12 0.14 0.16
1.00 T S I

0.05 0.09
M A

Matemticas Discretas: Daniel Quinto Pazce


27
FISI- Daniel Quinto Pazce- Logica M.
Matemticas Discretas: Daniel Quinto Pazce 28
Matemticas Discretas: Daniel Quinto Pazce 29
Matemticas Discretas: Daniel Quinto Pazce 30
Representacin en Memoria

FISI- Daniel Quinto Pazce- Logica M.


Matemticas Discretas: Daniel Quinto Pazce 31
rbol del montculo
A la secuencia de nodos se le llama:
Hi , Hi+1, Hi+2, HDdiv2 , HDdiv2+1 , HD
y cumpla propiedad:

FISI- Daniel Quinto Pazce- Logica M.


rbol de montculo
Hi <= H2i
Hi <= H2i+1
i, i i...D div 2

En esta definicin de Montculos no se exige relacin


Alguna entre los elementos HDdiv2+ HDdiv2+1 + HD

Matemticas Discretas: Daniel Quinto Pazce 32


rbol del montculo
E M I L I O S M I T
4 5 6 7 8 9 10 11 12 13

i = 4, 5, 6 E
No tiene relacin L
Para i = 4: H4 = E <= I = H8 4
I O
H4 = E <= O = H9
8 9
M
Para i = 5: H5 = M <= S = H10 5 L

H5 = M <= M = H11 S M 7

10 I 11
Para i = 6: H6 = I <= I = H12
6
H6 = I <= T = H13 I T

12 13
Matemticas Discretas: Daniel Quinto Pazce
33
Arbol : Algoritmo de Filtracion
E M I L I O S M I T
1 2 3 4 5 6 7 8 9 10

Para i = 1 5 i = 1,2, 3, 4, 5
Para i = 1: H1 = E M = H2 v
H1 = E I = H3 E
Para i = 2: H2 = M L = H4 1
H2 = M I = H5 x M I
Para i = 3: H3 = I O = H6 2 3
H3 = I S = H7 v
L I O S
Para i = 4: H4 = L M = H8 v
H4 = L I = H9 x 4 5 6 7
Para i = 5: H5 = I T = H10 M I T
H5 = I v
8 9 10

LA DIRECCION DEL ARBOL, SE MANTIENE DESPUES DEL FILTRADO. ARBOL DE MONTICULO

Matemticas Discretas: Daniel Quinto Pazce


34
Arbol : Algoritmo de Filtracion
ALGORITMO DE FILTRACION:
R1: Inicializar el nodo padre raz.: R2 Almacenar el nodo padre en un buffer
R3: Seleccionar el sub rbol del menor nodo hijo. R4: Mientras nodo hijo seleccionado < buffer
Reemplazar nodo padre con el nodo hijo seleccionado. Actualizar nodo hijo seleccionado
R5: Repetir el procedimiento desde el paso R3.

H: E
M E

M I I I
L
L I O S I M O S

M I T M L T

Matemticas Discretas: Daniel Quinto Pazce


35
Representacin en Memoria
De un rbol binario cualesquiera

IZQ INFO DER


Info Izq Der
Inicio 1 H 9 6
F 2 E 0 0
3 A 0 0
B H 4 F 7 1
15 C 0 0
NDISP 6 I 0 0
A D G I 7 B 3 11
12 8 10 0
9 G 0 0
C E 10 0 0
11 D 5 2
12 8 0

Matemticas Discretas: Daniel Quinto Pazce 36


Representacin en Memoria de un rbol

Matemticas Discretas: Daniel Quinto Pazce 37


Representacin Enlazada
De un arbol Binario

B H

A D G I

C E

Matemticas Discretas: Daniel Quinto Pazce


38
Representacin Enlazada

Matemticas Discretas: Daniel Quinto Pazce 39


Operacin en un rbol de BB
PRIMER CASO
1) Elimina de una Hoja

FISI- Daniel Quinto Pazce- Logica M.


F F

B H B H

A D A D

C E C

Matemticas Discretas: Daniel Quinto Pazce


40
Eliminacin de un Nodo
SEGUNDO CASO

FISI- Daniel Quinto Pazce- Logica M.


2) Eliminacin con 1 solo descendiente
El puntero padre salta al nodo suprimido y apunta al hijo
del nodo que queremos suprimir
F
F

B H
A I

A I

Matemticas Discretas: Daniel Quinto Pazce


41
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 F

B H C H

A D G I A D G I

C E E

Matemticas Discretas: Daniel Quinto Pazce


42
Eliminacin de un nodo con 2 descendientes
Sub Izq
El valor es aquel que es el mas prximo y
que precede inmediatamente al que le esta

FISI- Daniel Quinto Pazce- Logica M.


suprimiendo.
Sub Derecho
El valor es aquel que sigue inmediatamente
al que se esta suprimiendo.

Matemticas Discretas: Daniel Quinto Pazce 43


Recorridos en un rbol

FISI- Daniel Quinto Pazce- Logica M.


A.- Inorden

B.-Preorden

C.-Postorden

Matemticas Discretas: Daniel Quinto Pazce 44


FISI- Daniel Quinto Pazce- Logica M.
Matemticas Discretas: Daniel Quinto Pazce 45
FISI- Daniel Quinto Pazce- Logica M.
Matemticas Discretas: Daniel Quinto Pazce 46
FISI- Daniel Quinto Pazce- Logica M.
Matemticas Discretas: Daniel Quinto Pazce 47
Ejemplo:

FISI- Daniel Quinto Pazce- Logica M.


Matemticas Discretas: Daniel Quinto Pazce 48
Recorridos de un rbol
Inorden: A B C D EF G H I F
Preorden: FBADCEHGI
Postorden: ACEDBGIHF B H
F
A D G I
B H

C E
A D G I F

B H
C E

A D G I

C E
49
50
FISI- Daniel Quinto Pazce- Logica M.
Matematicas Discretas: Daniel Quinto Pazce 51
CADENA POLACA

Polaco Lukasiewice implant el rbol de una

FISI- Daniel Quinto Pazce- Logica M.


expresin aritmtica para obtener la cadena
infija, prefija y posfija.

Hacemos evaluaciones utilizando el concepto


de pila.

Matematicas Discretas: Daniel Quinto Pazce 52


CADENA POLACA
EXPRESION ARITMTICA:

FISI- Daniel Quinto Pazce- Logica M.


tenemos dos:
operandos: letras minsculas

operadores : ( )

/ * div mod
+ -

Matematicas Discretas: Daniel Quinto Pazce 53


CADENA POLACA
Generacin de un rbol Expresin aritmtica

1. a b /
c d Operadores
Nodos internos

+ -

info a b c d

a b c d
1 2 3 4
Matemticas Discretas: Daniel Quinto Pazce 54
Expresin Aritmtica
2 ( d ( g f ))
(ab c )
b)

FISI- Daniel Quinto Pazce- Logica M.


- -

*
d +

a b c 2 f
gg

55
Expresin Aritmtica
2 3
ab c
b)

FISI- Daniel Quinto Pazce- Logica M.


-
3

a b c 2

56
CADENA POLACA
Ejemplo :
+

/ /

+ *

* * a f a c d /

a b c d
1 2

(a* b+c*d)/a*f + (a c)/ d 1/2

Matemticas Discretas: Daniel Quinto Pazce 57


CADENA POLACA
Obtener la cadena infija, prefija y posfija de
la siguiente expresin: b b 2 4ac
x
ax+bx+c=0 2a
b b 2 4ac
x
2a
Queda como ejercicio 1* b
b
s *b

Matemticas Discretas: Daniel Quinto Pazce 58


Recorridos de un rbol
-
INFIJA
Ejemplo: * /

a(b+c)d/e
a + d e

Recorrido Infijo:
b c
a*b+c-d/e

Matemticas Discretas: Daniel Quinto Pazce 59


Recorridos de un rbol
-
PREFIJA
Ejemplo: * /

a(b+c)d/e
a + d e

Recorrido prefijo:
b c
-*a+bc/de

Matemticas Discretas: Daniel Quinto Pazce 60


Recorridos de un rbol
-
POSTFIJA
Ejemplo: * /

a(b+c)d/e
a + d e

Recorrido posfijo:
b c
abc+*de/-

Matemticas Discretas: Daniel Quinto Pazce 61


RECORRIDOS
+ Ejemplo:

FISI- Daniel Quinto Pazce- Logica M.


CADENA INFIJA:
b c /a +d e
b / d e CADENA PREFIJA:
+ b/ca de
c a
CADENA POSFIJA:
bca/ de +

Matemticas Discretas: Daniel Quinto Pazce 62


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
LIFO Push ( ) Pop ( )

Last In First Out


cima

Empilar Depilar

Matemticas Discretas: Daniel Quinto Pazce 63


Pilas
Cadena (vaca)

Empila de menor a mayor:

FISI- Daniel Quinto Pazce- Logica M.


Depilar
Empilar
-

cima Pila vaca

*
/
+
Matemticas Discretas: Daniel Quinto Pazce 64
Evaluacin Manual
Cadena
5(6+2)-8/4 -

- * 5 + 6 2 / 8 4 * /

8 2
5 + 8 4

40
38 2
6

Matemticas Discretas: Daniel Quinto Pazce 65


USANDO EL MTODO DE PILA

Smbolo Pila
5 6 2 + * 8 4 / - 5 5

FISI- Daniel Quinto Pazce- Logica M.


6 5 6
Cadena Postfija
2 5 6 2
+ 5 8
* 40
8 40 8
4 40 8 4
/ 40 2
- 38

Matemticas Discretas: Daniel Quinto Pazce 66


TRANSFORMACION DE INFIJA A POSFIJA

Cadena de forma original


a*(b+c)d/e infija

FISI- Daniel Quinto Pazce- Logica M.


Se debe tener la expresin aritmtica como
cadena en forma original de infija; los
operadores se manejan de acuerdo a sus
prioridades, como se muestra en el
ejemplo siguiente:

Matemticas Discretas: Daniel Quinto Pazce 67


TRANSFORMACION DE INFIJA A POSFIJA
Smbolos Pilas Cadena postfija

( (
a ( a
* (* a
( (*( a

FISI- Daniel Quinto Pazce- Logica M.


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 / -

Matemticas Discretas: Daniel Quinto Pazce 68


SIGA ADELANTE

FIN

Matemticas Discretas: Daniel Quinto Pazce 69