You are on page 1of 69

ARBOL

y
CADENA POLACAS
Semestre 2015-2
Prof. Daniel Quinto Pazce
Matemticas Discretas: Daniel Quinto Pazce

ARBOL
Definicion

..

Si |V|=n
|A|=n-1

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

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


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

ARBOL ENRAIZADO

B
E

C
G

K L M

D
H

----------------

----------

------------

J
N

FISI- Daniel Quinto Pazce- Logica M.

Un rbol T(V,A) es enraizado cuando los nodos tienen al menos


un nodo hijo descendiente.
Nodo: raz
A --------------------------T:
0

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

ARBOL BINARIO
Un rbol T(V,A) es binario cuando todos
los nodos tienen a lo ms dos
descendientes. Todo rbol binario tiene
una estructura bien definida, con los V, A

FISI- Daniel Quinto Pazce- Logica M.

SubIzq

SubDer

Matemticas Discretas: Daniel Quinto Pazce

ARBOL BINARIO
Raz

B
D
H

C
E

FISI- Daniel Quinto Pazce- Logica M.

T:

Niveles

2
3

INI = numero de nodos= 9


IAI= numero de arcos = 8
Nodo A = Nodo Padre raz.
Matemticas Discretas: Daniel Quinto Pazce

ARBOL BINARIO

2.

Puntero Nodo Cabecera

FISI- Daniel Quinto Pazce- Logica M.

1.

rbol binario, con puntero raz.


Puntero Raz

Raz

A
B
D

C
E

I
Matematicas Discretas: Daniel Quinto Pazce

rbol binario con nodo cabecera


Llamado rbol Enhebrado
FISI- Daniel Quinto Pazce- Logica M.

A
B
D

C
E

Matemticas Discretas: Daniel Quinto Pazce

rbol binario ponderado


ARBOL (MASCARA)

Todos los nodos tiene Peso, denotado w

T:

FISI- Daniel Quinto Pazce- Logica M.

20

T:

Wi: peso

70

45

50

10

25

35

15

Matemticas Discretas: Daniel Quinto Pazce

ELEMENTOS DE UN ARBOL

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

RAIZ: Es el puntero que apunta al nodo padre raz


NODO PADRE RAZ: 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

GRADO - NODO

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

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; 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
10

ALTURA Y PROFUNDIDAD
Ejemplo:
A

RAIZ

Profundidad

ESE NODO

Altura

HOJA

2
3
4

Altura(A) = 4
Prof(A) = 0
Prof(H) = 3
Matemticas Discretas: Daniel Quinto Pazce

11

ARBOL EXTENDIDO

FISI- Daniel Quinto Pazce- Logica M.

Un rbol es extendido si en cualquier nodo se


enlaza nodos cuadrados de valencia par.
0

T:
1
2
3

Matemticas Discretas: Daniel Quinto Pazce

12

LONGITUDES
1.Longitud Interna =

1
2
1

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


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

Matemticas Discretas: Daniel Quinto Pazce

13

TRANSFORMACION DE UN ARBOL
ENRAIZADO EN ARBOL BINARIO
A

C
G

D
H

E
M

FISI- Daniel Quinto Pazce- Logica M.

C
F

D
G

H
I
J
K

L
Matemticas Discretas: Daniel Quinto Pazce

14

TIPO DE ARBOLES
1.

ARBOL LLENO
Cuando todas las
hojas estn al
mismo nivel.
N(n) = 2n+1 1 ,
n= n de nivel
Ejemplo:

Crear un rbol lleno de nivel 3


n = 3 , N(3) = 24 1 = 15

Matemticas Discretas: Daniel Quinto Pazce

0
1
2
3

15

ARBOL COMPLETO

Cuando todos los nodos


internos estn llenos
hasta el siguiente, al
ultimo nivel, y con las
hojas del ultimo nivel
toma mas a la izquierda
como sea posible.

Crear un rbol de nivel 3.


Si n = 3 entonces N(3) = 9

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

0
1

Matemticas Discretas: Daniel Quinto Pazce

16

ARBOL EQUILIBRADO

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

Cuando cada nodo interno se diferencia a lo


mas en uno; por definicin de su altura.
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

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

K4 = K3 + 1 + K2 = 7
4

K3 = K2 + 1 + K1 = 4
1

K2 = K1 + 1 + K0 = 2
1
Matemticas Discretas: Daniel Quinto Pazce

0
18

rbol equilibrado de nivel 5


0
1
2
3

4
5

Matemticas Discretas: Daniel Quinto Pazce

19

ARBOL DE BUSQUEDA BINARIA


Dado

Ni Nsubizq y Ni Nsubder

Ni

A
N

N
FISI- Daniel Quinto Pazce- Logica M.

N
M

SUBIZQ

SUBDER
E

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

Arbol alfabetico
H

FISI- Daniel Quinto Pazce- Logica M.

Un rbol T(V,A) es un rbol de bsqueda binaria (ABB) si


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

I
21

rbol de bsqueda Binaria

Dado: 70 30 45 10 100 50 80 2 35 200,


CREAR ABB

rbol Ponderado
30

10

35

100

45

80

200

FISI- Daniel Quinto Pazce- Logica M.

70

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
tipo alfabetico

ABCDEFGHIJKLMNOPQRSWXYZ

FISI- Daniel Quinto Pazce- Logica M.

M
4

Matemticas Discretas: Daniel Quinto Pazce


23

RBOL DE HUFFMANN
Es til para codificar la informacin y se
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

FISI- Daniel Quinto Pazce- Logica M.

24

rbol de Huffman
EJEMPLO numrico
Info
W

G R
22 5

A F F
11 19 2

O
6

65
0

22
22
22
22
41
65

5
7
13
24
24

11 19 2
11 19 6
11 19
19

24

41

11

13

19

22

0
O

Info. De las Hojas:

7
0

AOFRFG

2
F

1
5
R

Matemticas Discretas: Daniel Quinto Pazce


25

rbol de Huffman- Representa. Memoria

Grafo: 11
G

0111
R

00
A

10
F

0110
F

010
O

Lista:

NDISP

SubIzq

SubDer

Info

SubIzq

SubDer

22

11

19

13

24

10

41

11

65

10

12

13

13

14

12

FISI- Daniel Quinto Pazce- Logica M.

Info

26

rbol de Huffman - Probabilstico

0.05
0.14
0.14
0.30
0.55
1.00

0.05

0.09

0.12

0.45

0.16

0.13

0.09
0.12
0.25
0.25
0.45

0.12
0.45
0.45
0.45

0.45
0.16
0.16

0.16
0.13

1.00

0.13
0.45

0.55

D
0.25

0.12
T

0.30

0.13

0.14 0.16

I
0.05
M

0.09
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

rbol de montculo

FISI- Daniel Quinto Pazce- Logica M.

Hi <= H2i
Hi <= H2i+1

y cumpla propiedad:

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
4

M
5

I
6

i = 4, 5, 6
Para i = 4:

L
7

I
8

O
9

S
10

M
11

I
12

T
13

H4 = E <= I = H8
H4 = E <= O = H9

No tiene relacin

8
M

Para i = 5:

H5 = M <= S = H10
H5 = M <= M = H11

H6 = I <= I = H12
H6 = I <= T = H13

5
S

10

Para i = 6:

11

6
I
12

T
13

Matemticas Discretas: Daniel Quinto Pazce


33

Arbol : Algoritmo de Filtracion


E

10

Para i = 1 5

i = 1,2, 3, 4, 5
Para i = 1:

H1 = E M = H2
H1 = E I = H3

Para i = 2:

H2 = M L = H4
H2 = M I = H5

Para i = 3:

Para i = 4:

Para i = 5:

H3 = I O = H6
H3 = I S = H7 v

I
3

H4 = L M = H8 v
H4 = L I = H9 x
H5 = I T = H10
v
H5 = I

I
5

M
8

I
9

S
7

T
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:
M

E
M

L
L

S
M

Matemticas Discretas: Daniel Quinto Pazce


35

Representacin en Memoria
De un rbol binario cualesquiera
IZQ

INFO DER
Inicio
F

NDISP
12

1
2
3
4
15
6
7
8
9
10
11
12

Matemticas Discretas: Daniel Quinto Pazce

Info
H
E
A
F
C
I
B
G
D

Izq
9
0
0
7
0
0
3
10
0
0
5
8

Der
6
0
0
1
0
0
11
0
0
0
2
0

36

Representacin en Memoria de un rbol

Matemticas Discretas: Daniel Quinto Pazce

37

Representacin Enlazada
De un arbol Binario
F

Matemticas Discretas: Daniel Quinto Pazce


38

Representacin Enlazada

Matemticas Discretas: Daniel Quinto Pazce

39

Operacin en un rbol de BB

F
B

FISI- Daniel Quinto Pazce- Logica M.

PRIMER CASO
1) Elimina de una Hoja

Matemticas Discretas: Daniel Quinto Pazce


40

Eliminacin de un Nodo

El puntero padre salta al nodo suprimido y apunta al hijo


del nodo que queremos suprimir
F
F
B

H
A

FISI- Daniel Quinto Pazce- Logica M.

SEGUNDO CASO
2) Eliminacin con 1 solo descendiente

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

C
I

H
D

E
Matemticas Discretas: Daniel Quinto Pazce
42

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

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
suprimiendo.
Sub Derecho
El valor es aquel que sigue inmediatamente
al que se esta suprimiendo.

43

Recorridos en un rbol
A.- Inorden

B.-Preorden

C.-Postorden

FISI- Daniel Quinto Pazce- Logica M.

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:
Preorden:
Postorden:

A B CD EFG H I
FBADCEHGI
ACEDBGIHF

F
B

F
B

I
B

E
A

E
49

50

FISI- Daniel Quinto Pazce- Logica M.

Matematicas Discretas: Daniel Quinto Pazce

51

CADENA POLACA
Polaca 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

operadores :

FISI- Daniel Quinto Pazce- Logica M.

EXPRESION ARITMTICA:
tenemos dos:
operandos:
letras minsculas
( )
/ * 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

Matemticas Discretas: Daniel Quinto Pazce

54

Expresin Aritmtica
2 ( d ( g f ))

d
c

FISI- Daniel Quinto Pazce- Logica M.

b)

(ab c )

gg

f
55

Expresin Aritmtica

56

FISI- Daniel Quinto Pazce- Logica M.

b)

ab c

2 3

CADENA POLACA
Ejemplo :
+
/
+
*
a

*
b

(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
2a

1* b
b
s *b

Matemticas Discretas: Daniel Quinto Pazce

58

Recorridos de un rbol
-

INFIJA
Ejemplo:

a(b+c)d/e
a

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

Matemticas Discretas: Daniel Quinto Pazce

59

Recorridos de un rbol
-

PREFIJA
Ejemplo:

a(b+c)d/e
a

Recorrido prefijo:
-*a+bc/de

Matemticas Discretas: Daniel Quinto Pazce

60

Recorridos de un rbol
-

POSTFIJA
Ejemplo:

a(b+c)d/e
a

Recorrido posfijo:
a (b c +) * (d e /) -

Matemticas Discretas: Daniel Quinto Pazce

61

RECORRIDOS
Ejemplo:

FISI- Daniel Quinto Pazce- Logica M.

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

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

LIFO
Last In First Out

Pop ( )

cima

Empilar
Matemticas Discretas: Daniel Quinto Pazce

Depilar
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 PREFIJA

5(6+2)-8/4

- * 5 + 6 2 / 8 4
8

2
5

40
38

Matemticas Discretas: Daniel Quinto Pazce

65

USANDO EL MTODO DE PILA

5 6 2 + * 8 4 / -

Pila

5 6

5 6 2

5 8

40

12

40 8

40 8 4

40 2

38

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

Cadena Postfija

Smbolo

66

TRANSFORMACION DE INFIJA A POSFIJA


a*(b+c)d/e
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


Pilas

(*

(*(

(*(

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

Matemticas Discretas: Daniel Quinto Pazce

Cadena postfija

FISI- Daniel Quinto Pazce- Logica M.

Smbolos

68

SIGA ADELANTE

FIN

Matemticas Discretas: Daniel Quinto Pazce

69