You are on page 1of 65

ARBOL y CADENA POLACAS

Matemticas Discretas: Daniel Quinto Pazce

ARBOL Definicion

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

Si |V|=n .. |A|=n-1
Matemticas Discretas: Daniel Quinto Pazce

ARBOL ENRAIZADO

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


raiz

T:
B E F G

A C

--------------------------D H I N

0
1

---------------J

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

2
3

K L M

/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)
Matemticas Discretas: Daniel Quinto Pazce 3

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.
N

SubIzq

SubDer
4

Matemticas Discretas: Daniel Quinto Pazce

ARBOL BINARIO
T:
B D H E I F A C G 0 1 2 3

N = numero de nodos= 9 , A= numero de arcos = 8


Matemticas Discretas: Daniel Quinto Pazce 5

ARBOL BINARIO
1.

rbol binario con variables punteros. Puntero Raz Raz Puntero Nodo Cabecera
Raz

2.

B
D H E I F

C
G

Matematicas Discretas: Daniel Quinto Pazce

rbol binario con nodo cabecera

A B C

D
H

E
I

Matemticas Discretas: Daniel Quinto Pazce

rbol binario ponderado y M


20

T:
Wi: peso 70 50

T:

10

25

35

45

15

ARBOL (MASCARA)

Matemticas Discretas: Daniel Quinto Pazce

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.
Matemticas Discretas: Daniel Quinto Pazce 9

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
Matemticas Discretas: Daniel Quinto Pazce 10

ARBOL
Ejemplo:
RAIZ
Profundidad

A B D H J E I F C G

ESE NODO
Altura

HOJA

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 enlaza nodos cuadrados de valencia par.


0

T:
1 2

Matemticas Discretas: Daniel Quinto Pazce

12

LONGITUDES
1.

Longitud Interna =

0 1 2 1 2 2 2 3 4 2 3

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

Matemticas Discretas: Daniel Quinto Pazce

13

TRANSFORMACION DE UN ARBOL EN BINARIO


A
B E F G C H D I K J L M E F G H I J B C D A

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

Crear un rbol lleno de nivel 3 N = 3 , n(N) = 24 1 = 15


0 1 2 3

Matemticas Discretas: Daniel Quinto Pazce

15

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) = 2n + 1 n = n de nivel

Crear un rbol de nivel 3. Si n = 3 entonces n(N) = 9


0
1

Matemticas Discretas: Daniel Quinto Pazce

16

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) Kn = Kn-1 + 1 + Kn-2 , K1 =1 , K0 = 0 Obs: n = n de nivel a partir de n+1
Matemticas Discretas: Daniel Quinto Pazce 17

ARBOL EQUILIBRADO

EJM: Crear un rbol equilibrado de nivel 5 K6 = K5 + 1 + K4 = 20


12 7

K5 = K4 + 1 + K3 = 12
7

K4 = K3 + 1 + K2 = 7
4 2

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

K2 = K1 + 1 + K0 = 2
0
18

rbol equilibrado de nivel 5


0 1

2
3 4 5

Matemticas Discretas: Daniel Quinto Pazce

19

ARBOL DE BUSQUEDA BINARIA

Ni Nsubizq y Ni Nsubder
Ni

C
A R M

N SUBIZQ

N SUBDER E N

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 SubDer (Hi + 1) >= Hi Clear un arbol de busqueda binaria Me defino A B C D E F G H I
E

I
21

rbol de bsqueda Binaria

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


CREAR ABB
70

rbol Ponderado
30 100

10

45

80

200

35

50

Matemticas Discretas: Daniel Quinto Pazce

22

rbol de bsqueda Binaria


Dado una mascara I Crear un ABB

0 R

alfabetico

S
O

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.

Veamos algunos ejemplos:

Matemticas Discretas: Daniel Quinto Pazce

24

rbol de Huffman
EJEMPLO
Info W 22 22 22 22 41 65 5 7 13 24 24 G R 22 5 A F F 11 19 2 6
0 A 11 0 O

O 6
0 24 1 13 1 7 0 2 F

65 1 41 0 19 F 1 5 R
25

11 19 2 11 19 6 11 19 19

1 22 G

AO FR FG

Matemticas Discretas: Daniel Quinto Pazce

rbol de Huffman
Grafo: 11 0111 00 G R A Representacion en memoria Info W Lista:
Info 1 G W 22

10 F SubIzq
SubIzq 0

0110 F SubDer
SubDer 0

010 O

2
3 4 5 6 7 8 9 10 11 12 13 14

R
A F F O

5
11 19 2 6 7 13 24 41 65

0
0 0 0 0 5 6 3 4 9 13 0 12

0
0 0 0 0 2 7 8 1 10 0 0 0 26

rbol de Huffman
M 0.05 A 0.09 T 0.12 D 0.45 I 0.16 S 0.13
1.00

0.05 0.14 0.14 0.30 0.55 1.00

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

0.13
0.45

0.55

D
0.25 0.30

0.12 T

0.13 S 0.05 M

0.14 0.16 I 0.09 A

Matemticas Discretas: Daniel Quinto Pazce 27

Matemticas Discretas: Daniel Quinto Pazce

28

Matemticas Discretas: Daniel Quinto Pazce

29

Matemticas Discretas: Daniel Quinto Pazce

30

Representacin en Memoria

Matemticas Discretas: Daniel Quinto Pazce

31

rbol del montculo


A la secuencia de nodos: Hi , Hi+1, Hi+2, HDdiv2 , HDdiv2+1 , HD

Se llama rbol de montculo:


Hi <= H2i Hi <= H2i+1

i, i i...D div 2

Si

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 L 7 I 8 O 9 S 10 M 11 I 12 T 13
E 4 I 8 M O 9 L

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

No tiene relacin

H4 = E <= I = H8 H4 = E <= O = H9 H5 = M <= S = H10 H5 = M <= M = H11 H6 = I <= I = H12 H6 = I <= T = H13

Para i = 5:

5 S
10 I 6 I 12 T 13

M
11

Para i = 6:

Matemticas Discretas: Daniel Quinto Pazce 33

Arbol : Algoritmo de Filtracion


E 1 M 2 I 3 L 4 I 5 O 6 S 7 M 8 I 10 T 11

M M L L I

E I O S M I I M

E I O S

Matemticas Discretas: Daniel Quinto Pazce 34

Representacin en Memoria
IZQ INFO DER Inicio F B A D G H I NDISP 12
1 2 3 4 15 6 7 8 9 10 11 12 Info H E A F C I B G 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

Matemticas Discretas: Daniel Quinto Pazce

35

Representacin en Memoria de un rbol

Matemticas Discretas: Daniel Quinto Pazce

36

Representacin Enlazada
De un arbol Binario
F

Matemticas Discretas: Daniel Quinto Pazce 37

Representacin Enlazada

Matemticas Discretas: Daniel Quinto Pazce

38

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

Matemticas Discretas: Daniel Quinto Pazce 39

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 F

H
A I

Matemticas Discretas: Daniel Quinto Pazce 40

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
A D G

H
I A

C
D G

H
I

E
Matemticas Discretas: Daniel Quinto Pazce

41

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.

Matemticas Discretas: Daniel Quinto Pazce

42

Recorridos en un rbol

A.- Inorden B.-Preorden C.-Postorden

Matemticas Discretas: Daniel Quinto Pazce

43

Matemticas Discretas: Daniel Quinto Pazce

44

Matemticas Discretas: Daniel Quinto Pazce

45

Matemticas Discretas: Daniel Quinto Pazce

46

Ejemplo:

Matemticas Discretas: Daniel Quinto Pazce

47

48

Matematicas Discretas: Daniel Quinto Pazce

49

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.

Matematicas Discretas: Daniel Quinto Pazce

50

CADENA POLACA

EXPRESION ARITMTICA: tenemos dos: operandos: letras minsculas operadores : ( )

/ * div mod + -

Matematicas Discretas: Daniel Quinto Pazce

51

CADENA POLACA
Generacin de un rbol Expresin aritmtica 1. a b c d
+ / operadores -

info

a 1

b 2

c 3

d 4
52

Matemticas Discretas: Daniel Quinto Pazce

CADENA POLACA Ejemplo :


+ / + * a b c * /

a d

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


Matemticas Discretas: Daniel Quinto Pazce 53

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

b 2 4ac 2a

Matemticas Discretas: Daniel Quinto Pazce

Recorridos de un rbol
-

INFIJA Ejemplo:
a(b+c)d/e
a

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

Matemticas Discretas: Daniel Quinto Pazce

55

Recorridos de un rbol
PREFIJA Ejemplo:
a(b+c)d/e
a + d e -

Recorrido prefijo: -*a+bc/de

Matemticas Discretas: Daniel Quinto Pazce

56

Recorridos de un rbol
POSTFIJA Ejemplo:
a(b+c)d/e
a + d e -

Recorrido posfijo: abc+*de/-

Matemticas Discretas: Daniel Quinto Pazce

57

RECORRIDOS
+

Ejemplo:

b / d e

c d

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


58

Matemticas Discretas: Daniel Quinto Pazce

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 Last In First Out


cima

Push ( )

Pop ( )

Depila
Matemticas Discretas: Daniel Quinto Pazce

Empila
59

Pilas
Cadena (vaca)

Empila de menor a mayor:


Desempilar Empilar

E cima

* / +
Matemticas Discretas: Daniel Quinto Pazce 60

Evaluacin Manual
Cadena PREFIJA

5(6+2)-8/4 - * 5 + 6 2 / 8 4
8 2 5 40 38 6 + *

Matemticas Discretas: Daniel Quinto Pazce

61

USANDO EL MTODO DE PILA 5 6 2 + * 8 4 / Cadena Postfija

Smbolo 5

Pila 5

6
2 + * 12 4 / -

5 6
5 6 2 5 8 40 40 8 40 8 4 40 2 38

Matemticas Discretas: Daniel Quinto Pazce

62

TRANSFORMACION DE INFIJA A POSFIJA a*(b+c)d/e 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:

Matemticas Discretas: Daniel Quinto Pazce

63

TRANSFORMACION DE INFIJA A POSFIJA


Smbolos ( a * ( b + C ) d / e Pilas ( ( (* (*( (*( (*(+ (*(+ (* (((-/ (-/ 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 Cadena postfija

a b c+*d e / -

Matemticas Discretas: Daniel Quinto Pazce

64

TEMA DELA ARBOL BINARIO

FIN

Matemticas Discretas: Daniel Quinto Pazce

65