You are on page 1of 68

ARBOL

y
CADENA POLACAS
Semestre 2014-I
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

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


menos un descendiente.
raiz
A
B
E

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

C
G

K L M

D
H

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

----------

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

J
N

FISI- Daniel Quinto Pazce- Logica M.

T:

/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

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.

FISI- Daniel Quinto Pazce- Logica M.

SubIzq

SubDer

Matemticas Discretas: Daniel Quinto Pazce

ARBOL BINARIO

B
D
H

C
E

FISI- Daniel Quinto Pazce- Logica M.

T:

2
3

N = numero de nodos= 9 ,
A= numero de arcos = 8
Matemticas Discretas: Daniel Quinto Pazce

ARBOL BINARIO

2.

Puntero Nodo Cabecera

FISI- Daniel Quinto Pazce- Logica M.

1.

rbol binario con variables punteros.


Puntero Raz
Raz

Raz

B
D

C
E

I
Matematicas Discretas: Daniel Quinto Pazce

rbol binario con nodo cabecera


FISI- Daniel Quinto Pazce- Logica M.

A
B

E
H

Matemticas Discretas: Daniel Quinto Pazce

rbol binario ponderado y M


T:

FISI- Daniel Quinto Pazce- Logica M.

20

T:

Wi: peso

70

45

50

10

25

35

15

ARBOL (MASCARA)

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


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

ARBOL

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.
ALTURA
Es la longitud de ese nodo hasta las hojas
PROFUNDIDAD
Es la longitud desde la raz hasta ese nodo
10

ARBOL
Ejemplo:
A

RAIZ
Profundidad

ESE NODO
D

Altura

HOJA

H
J

F
I

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

Matemticas Discretas: Daniel Quinto Pazce

12

LONGITUDES
1.

0
1
2
1

2
3

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

Matemticas Discretas: Daniel Quinto Pazce

13

TRANSFORMACION DE UN
ARBOL EN 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

Crear un rbol lleno de nivel 3


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

Matemticas Discretas: Daniel Quinto Pazce

0
1
2
3

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

Matemticas Discretas: Daniel Quinto Pazce

0
1

16

ARBOL EQUILIBRADO

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

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
17

ARBOL EQUILIBRADO

EJM: Crear un rbol equilibrado de nivel 5


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

Ni Nsubizq y Ni Nsubder

FISI- Daniel Quinto Pazce- Logica M.

Ni
A
N

N
M

SUBIZQ

SUBDER
E

Matemticas Discretas: Daniel Quinto Pazce

20

rbol de bsqueda Binaria


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

rbol Ponderado
30

10

35

100

45

80

200

FISI- Daniel Quinto Pazce- Logica M.

70

50

Matemticas Discretas: Daniel Quinto Pazce

22

rbol de bsqueda Binaria


Dado una mascara
I
Crear un ABB

FISI- Daniel Quinto Pazce- Logica M.

alfabetico

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

FISI- Daniel Quinto Pazce- Logica M.

24

rbol de Huffman
EJEMPLO
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

7
0

AO FR FG

2
F

1
5
R

Matemticas Discretas: Daniel Quinto Pazce


25

rbol de Huffman

Grafo: 11
G

Lista:

0111
R

00
A

0110
F

010
O

Representacion en memoria

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

NDISP

10
F

26

rbol de Huffman

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

FISI- Daniel Quinto Pazce- Logica M.

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

i, i i...D div 2

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

11

E
M

L
L

S
M

Matemticas Discretas: Daniel Quinto Pazce


34

Representacin en Memoria
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

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

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

F
B

FISI- Daniel Quinto Pazce- Logica M.

PRIMER CASO
1) Elimina de una Hoja

Matemticas Discretas: Daniel Quinto Pazce


39

Eliminacin de un Nodo

El puntero padre salta al nodo suprimido y apunta al hijo


del nodo que queremos suprimir
F
F

H
A

FISI- Daniel Quinto Pazce- Logica M.

SEGUNDO CASO
2) Eliminacin con 1 solo descendiente

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

C
I

H
D

E
Matemticas Discretas: Daniel Quinto Pazce
41

Un puntero padre salta del nodo suprimido y


apunta al hijo del nodo que queremos
suprimir

Matemticas Discretas: Daniel Quinto Pazce

FISI- Daniel Quinto Pazce- Logica M.

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

Recorridos en un rbol
A.- Inorden

B.-Preorden

C.-Postorden

FISI- Daniel Quinto Pazce- Logica M.

Matemticas Discretas: Daniel Quinto Pazce

43

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

Ejemplo:

FISI- Daniel Quinto Pazce- Logica M.

Matemticas Discretas: Daniel Quinto Pazce

47

Recorridos de un rbol

Inorden:
Preorden:
Postorden:

A B CD EFG H I
FBADCEHGI
ACEDBGIHF

F
B

F
B

I
B

E
48

49

FISI- Daniel Quinto Pazce- Logica M.

Matematicas Discretas: Daniel Quinto Pazce

50

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

51

CADENA POLACA

operadores :

FISI- Daniel Quinto Pazce- Logica M.

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

/ * div mod
+ -

Matematicas Discretas: Daniel Quinto Pazce

52

CADENA POLACA
Generacin de un rbol Expresin aritmtica
1. a b
c d

/
Operadores
Nodos internos

info

Matemticas Discretas: Daniel Quinto Pazce

53

Expresin Aritmtica
2 ( d ( g f ))

d
c

FISI- Daniel Quinto Pazce- Logica M.

b)

(ab c )

gg

f
54

Expresin Aritmtica

55

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

56

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

x
b

b 2 4ac
2a

1* b
s *b

Matemticas Discretas: Daniel Quinto Pazce

57

Recorridos de un rbol
-

INFIJA
Ejemplo:

a(b+c)d/e
a

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

Matemticas Discretas: Daniel Quinto Pazce

58

Recorridos de un rbol
-

PREFIJA
Ejemplo:

a(b+c)d/e
a

Recorrido prefijo:
-*a+bc/de

Matemticas Discretas: Daniel Quinto Pazce

59

Recorridos de un rbol
-

POSTFIJA
Ejemplo:

a(b+c)d/e
a

Recorrido posfijo:
abc+*de/-

Matemticas Discretas: Daniel Quinto Pazce

60

RECORRIDOS
+

Ejemplo:

FISI- Daniel Quinto Pazce- Logica M.

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

Matemticas Discretas: Daniel Quinto Pazce

61

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
62

Pilas
Cadena (vaca)

Empila de menor a mayor:


FISI- Daniel Quinto Pazce- Logica M.

Depilar
Empilar
-

cima

Pila vaca

*
/
+
Matemticas Discretas: Daniel Quinto Pazce

63

Evaluacin Manual
Cadena PREFIJA

5(6+2)-8/4

- * 5 + 6 2 / 8 4
8

2
5

40
38

Matemticas Discretas: Daniel Quinto Pazce

64

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

65

TRANSFORMACION DE INFIJA A POSFIJA


a*(b+c)d/e
FISI- Daniel Quinto Pazce- Logica M.

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

66

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

67

TEMA DELA ARBOL BINARIO

FIN

Matemticas Discretas: Daniel Quinto Pazce

68