Arboles y Cadenas
Arboles y Cadenas
Arboles y Cadenas
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
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
ARBOL BINARIO
T:
B D H E I F A C G 0 1 2 3
ARBOL BINARIO
1.
rbol binario con variables punteros. Puntero Raz Raz Puntero Nodo Cabecera
Raz
2.
B
D H E I F
C
G
A B C
D
H
E
I
T:
Wi: peso 70 50
T:
10
25
35
45
15
ARBOL (MASCARA)
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
ARBOL EXTENDIDO
T:
1 2
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
13
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
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
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
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
2
3 4 5
19
Ni Nsubizq y Ni Nsubder
Ni
C
A R M
N SUBIZQ
N SUBDER E N
20
I
21
rbol Ponderado
30 100
10
45
80
200
35
50
22
0 R
alfabetico
S
O
M 4
RBOL DE HUFFMANN
Es til para codificar la informacin y se obtiene operando los dos pesos menores cada vez.
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
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.16 0.13
0.13
0.45
0.55
D
0.25 0.30
0.12 T
0.13 S 0.05 M
28
29
30
Representacin en Memoria
31
i, i i...D div 2
Si
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:
M M L L I
E I O S M I I M
E I O S
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
35
36
Representacin Enlazada
De un arbol Binario
F
Representacin Enlazada
38
Operacin en un rbol de BB
PRIMER CASO 1) Elimina de una Hoja
F B H B F H
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
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.
42
Recorridos en un rbol
43
44
45
46
Ejemplo:
47
48
49
CADENA POLACA
Polaca Lukasiewice implant el rbol de una expresin aritmtica para obtener la cadena infija, prefija y posfija.
50
CADENA POLACA
/ * div mod + -
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
a d
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
Recorridos de un rbol
-
INFIJA Ejemplo:
a(b+c)d/e
a
Recorrido Infijo: a * b + c- d / e
55
Recorridos de un rbol
PREFIJA Ejemplo:
a(b+c)d/e
a + d e -
56
Recorridos de un rbol
POSTFIJA Ejemplo:
a(b+c)d/e
a + d e -
57
RECORRIDOS
+
Ejemplo:
b / d e
c d
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 ( )
Pop ( )
Depila
Matemticas Discretas: Daniel Quinto Pazce
Empila
59
Pilas
Cadena (vaca)
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 + *
61
Smbolo 5
Pila 5
6
2 + * 12 4 / -
5 6
5 6 2 5 8 40 40 8 40 8 4 40 2 38
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:
63
a b c+*d e / -
64
FIN
65