You are on page 1of 33

Matemáticas Discretas- FISI – 2017-2 Daniel A.

Quinto Pazce

1
Árboles y Cadenas Polacas

ARBOL:
Un árbol T(V, A) es un grafo conexo acíclico de estructura 2-tuple.
Donde:
V = {conjunto de nodos} T:
A = {conjunto de aristas} A

Para cualquier árbol


B C D
Si |V| = n
 |A| = n-1 E F

ARBOL ENRAIZADO:
Un árbol T (V, A) es enraizado cuando los nodos tienen al menos
un nodo hijo descendiente.
Nodo: Padre raíz o Raíz.

T: A 0

B C D 1

E F G H I J 2

K L M N 3

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

|N| = 14, |A| = 13 siempre es uno menos que los nodos. 2

Nodo Raíz [A]


Ramas o nodos internos [B, D, F, J]
Nodos Terminales u Hojas [E, K, L, M, G, C, H, I, N]
En todos los nodos, su peso (W = 1).

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

T: N

L R
SUBIZQ SUBDER

Niveles
T: Raíz
A 0

B C 1

D E F G 2

H I 3

|N| = número de nodos = 9


|A| = número de arcos = 8
Nodo A = Nodo Padre Raíz.

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

ARBOL BINARIO CON PUNTERO RAIZ: 3

1. Puntero “Raíz”

2. Puntero “Nodo Cabecera”

Raíz

B C

D E F G

H I

Arbol Binario con Nodo Cabecera llamado “ARBOL


ENHEBRADO”:

B C

D E F G

H I

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

ARBOL BINARIO: 4

Todos los nodos tienen Peso, denotado W.

ARBOL (MASCARA)

T: T:
20

70 50

2 10 25 35

45 15

ELEMENTOS DE UN ARBOL:
 RAIZ: Es el puntero que apunta al nodo padre raíz.
 NODO PADRE RAIZ: 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 más
descendientes.
 DESCENDIENTES: Cualquier nodo que tiene el mismo
antecesor.
 ANTECESOR: Es el nodo padre.
 ANTEPASADO: Son todos los antecesores.
 ANCESTRO: Es el nodo padre raíz.

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

 GRADO O VALENCIA DE UN NODO: Es el número de 5


descendientes directos de cada nodo.
 CAMINO: Es una secuencia finita de arcos continuos.
 LONGITUD DE CAMINO: Es el número 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 raíz hasta ese nodo.
EJEMPLO:

RAIZ
Profundidad

ESE NODO

Altura

HOJA

A 0

B C 1

D E F G 2

H I 3

J 4

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

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

ARBOL EXTENDIDO: 6

Un árbol es extendido si en cualquier nodo se enlaza nodos


cuadrados de valencia par.

T:
0

LONGITUDES:
1. Longitud Interna = ∑𝑛𝑖=0 𝑁𝑖 ∗ 𝑙𝑖
Long. Interna = 1*0+2*1+3 *2 = 8
2. Longitud Extendida = 1*2 + 6*3 = 20
3. Longitud Extendida Ponderada
Long. Ext. Pond = ∑𝑛
𝑖=0 𝑊𝑖 ∗ 𝑙𝑖 = 2*2 + 3(1+2+2+2+3+4) = 46

2 2

1 2 2 2 3 4 3

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

TRANSFORMACION DE UN ARBOL ENRAIZADO EN 7

ARBOL BINARIO:
A
A
B
B C D
E C

E F G H I J D
F

K L M G H
I
J

K
L
M
TIPO DE ARBOLES:
1. ARBOL LLENO: Cuando todas las hojas están al mismo nivel.
N(n) = 2𝑛+1 − 1, n = n° de nivel.
EJEMPLO:
Crear un árbol lleno de nivel 3. n = 3, N(3) = 24 − 1 = 15

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

2. ARBOL COMPLETO: Cuando todos los nodos están llenos 8


hasta el siguiente, al último nivel, y con las hojas del último
nivel toma más a la izquierda como sea posible.
N(n) = 2𝑛 + 1, n = n° de nivel.

EJEMPLO:
Crear un árbol de nivel 3. Si n = 3, entonces N(3) = 9

3. ARBOL EQUILIBRADO: Cuando cada nodo interno se


diferencia a lo mas en uno; por definición de su altura.

a. |Altura (subIZQ) – altura (subDER)| <= 1


ó |Altura (subDER) – altura (subIZQ)| <= 1
b. Formula de Recursividad para n (nodos)
𝐾𝑛 = 𝐾𝑛−1 + 1 + 𝐾𝑛−2 , 𝐾1 = 1 , 𝐾0 = 0
Dónde: n = n° de nivel, n = n+1

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

9
EJEMPLO: Crear un árbol equilibrado de nivel 5, n = 5+1

K6 = K5 + 1 + K4 = 20
12 7

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

ARBOL EQUILIBRADO DE NIVEL 5

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

4. ARBOL DE BUSQUEDA BINARIA: Cuando cada nodo es 10


mayor que cualquier subárbol izquierdo y menor que
cualquier subárbol derecho.

Dado
𝑵𝒊 ≥ 𝑵𝒔𝒖𝒃𝒊𝒛𝒒 y 𝑵𝒊 ≤ 𝑵𝒔𝒖𝒃𝒅𝒆𝒓 C A R M E N

C
Ni
A R
N N
SUBIZQ SUBDER
M

E N

Un árbol T(V,A) es un árbol de búsqueda binaria (ABB) si


cumple:

SubIzq (Hi - 1) <= Hi


SubDer (Hi + 1) >= Hi

EJEMPLO: Crear un árbol de búsqueda binaria de nivel 2.


Defino: A B C D E F G H I

Árbol alfabético B H

A D F I

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

Dado: 70 30 45 10 100 50 80 2 35 200, crear un ABB. 11

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.

Dado una máscara, crear un ABB de tipo alfabético.

I 0

D R 1

N S 2
ABCDEFGHIJKLMNOPQRSWXYZ E

L O 3

J M 4

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

5. ÁRBOL DE HUFFMANN: Es útil para codificar la información 12


y se obtiene operando los dos pesos menores cada vez, y
abarcando triangularmente hacia la izquierda. Los datos
pueden ser numérico, o tipo probabilístico.
Veamos algunos ejemplos:

Ejemplo numérico:

Info G R A F F O
W 22 5 11 19 2 6

22 5 11 19 2 6

22 7 11 19 6 65
0 1
22 13 11 19
24 41
22 24 19
0 1 0 1
41 24
11 13 19 22
65
0 1
A 6
F G
7
0 1
O
2 5

F R

Info. De las Hojas: AOFRFG

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

13

Representación en la memoria:

 Grafo:
11 0111 00 10 0110 010
G R A F F O

 Lista:

Info W SubIzq SubDer

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
INICIO 6 O 6 0 0
7 7 5 2
8 13 6 7
NDISP 9 24 2 8
10 41 4 1
11 65 9 10
12 13 0
13 0 0
14 12 0

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

Ejemplo probabilístico: 14

Info M A T D I S
W 0.05 0.09 0.12 0.45 0.16 0.13

0.05 0.09 0.12 0.45 0.16 0.13

0.14 0.12 0.45 0.16 0.13

0.14 0.25 0.45 0.16

0.30 0.25 0.45

0.55 0.45

1.00

1.00

0.45 0.55

D 0.25 0.30

0.12 0.13 0.14 0.16

T S I
0.05 0.09

M A

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

Ejemplo N° 1: 15

INFO E M I L I O S M I T
W(i) 22 5 11 19 2 6 4 3 7 8

22 5 11 19 2 6 4 3 7 8
22 5 11 19 5 6 4 7 8
22 5 11 19 9 6 7 8
22 11 11 19 9 7 8
22 11 11 19 9 15
22 20 11 19 15
22 20 26 19
22 39 26
48 39
87

87
0 1
Codificar:
39 48
0 1 0 1  TOM: 111101110110
 TIM: 1111111001110
20
19 22 26  LOTE: 000111111110
0 1 0 1
L E
9 11 11 15
0 1 0 1 0 1

4
I
5 5 6 7 8
0 1
S M O I T
2 3

I M

L S I M M O E I I T

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

Ejemplo N° 2: 16

INFO K A R L O
W(i) 0.14 0.12 0.45 0.16 0.13

1.00
0.14 0.12 0.45 0.16 0.13 0 1

0.14 0.25 0.45 0.16 0.45 0.5

0.30 0.25 0.45 0 1

0.55 0.45 R 0.25 0.30

1.00 0 1 0 1

0.12 0.13 0.14 0.16

Representación en la memoria: A O K L
 Lista:
SubIzq Info SubDer
ó

Info SubIzq SubDer


 Lista:
Info W SubIzq SubDer

Info W SubIzq SubDer


1 K 0.14 0 0
2 A 0.12 0 0
3 R 0.45 0 0
4 L 0.16 0 0
INICIO
5 O 0.13 0 0
6 0.25 2 2
7 0.30 1 4
8 0.55 6 7
NDISP
9 1.00 3 8
10 11 0
11 0 0

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

6. ÁRBOL DE MONTÍCULO: A la secuencia de nodos Hi, Hi+1, 17


Hi+2 … HDdiv2, HDdiv2+1 … HD, se le llama árbol de
montículo y cumple la propiedad:
 Hi <= H2i ∀𝒊, 𝒊 = 𝒊 … 𝑫 𝒅𝒊𝒗 𝟐
 Hi <= H2i+1

En esta definición de Montículos no se exige relación alguna


entre los elementos: HDdiv2, HDdiv2+1 … HD

Ejemplo:

E M I L I O S M I T
22 5 11 19 2 6 4 3 7 8

i = 4, 5, 6. No tiene relación “L”

 Para i = 4: { 𝐻4 = 𝐸 ≤ 𝐼 = 𝐻8 4
𝐻4 = 𝐸 ≤ 𝑂 = 𝐻9
I O
8 9

M L
𝐻5 = 𝑀 ≤ 𝑆 = 𝐻10
 Para i = 5: { 5 7
𝐻5 = 𝑀 ≤ 𝑀 = 𝐻11
S M
10 11

I
𝐻6 = 𝐼 ≤ 𝐼 = 𝐻12
 Para i = 6: { 6
𝐻6 = 𝐼 ≤ 𝑇 = 𝐻13
I T
12 13

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

E M I L I O S M I T 18
22 5 11 19 2 6 4 3 7 8

i = 1, 2, 3, 4, 5.
E
 Para i = 1: {𝐻1 = 𝐸 ≤ 𝑀 = 𝐻2 V 1
𝐻1 = 𝐸 ≤ 𝐼 = 𝐻3
M I
 Para i = 2: {𝐻2 = 𝑀 ≤ 𝐿 = 𝐻4 X
𝐻2 = 𝑀 ≤ 𝐼 = 𝐻5 2 3
 Para i = 3: {𝐻3 = 𝐼 ≤ 𝑂 = 𝐻6 V L I O S
𝐻3 = 𝐼 ≤ 𝑆 = 𝐻7
5 6 7
 Para i = 4: {𝐻4 = 𝐿 ≤ 𝑀 = 𝐻8 𝐕 4
𝐻4 = 𝐿 ≤ 𝐼 = 𝐻9 𝐗
M I T
 Para i = 4: {𝐻5 = 𝐼 ≤ 𝑇 = 𝐻10 V
𝐻5 = 𝐼 ≤ ∅ 8 9 10

Algoritmo de Filtración:
R1: Inicializar el nodo padre raíz.
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.

E
H: E
M

M I I I
L

I O S I M O S
L

I T M L T
M

LA DIRECCION DEL ARBOL, SE MANTIENE DESPUES DEL FILTRADO.

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

Representación en Memoria de un Árbol: 19

De un árbol binario cualesquiera.


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

Representación Enlazada:
De un árbol Binario.

B H

A I
D D G

C E
D D

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

20
OPERACIÓN EN UN ÁRBOL DE BB:

PRIMER CASO

1) Eliminación de una Hoja del árbol binario.

F F

B H B H

A D A D

C E C

SEGUNDO CASO

2) Eliminación de un nodo con un 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

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

Eliminación de un nodo con 2 descendientes. 21

Criterios:
 SubIzq {El nodo es aquel que es el más próximo y que
precede inmediatamente al que se está suprimiendo.
 SubDer {El valor es aquel que sigue inmediatamente al
que está suprimiendo.

F F

B H B H

A D G I A D G I

C E E

Eliminación de un nodo con 2 descendientes.


Sub Izq
 El valor es aquel que es el más próximo y que precede
inmediatamente al que le está suprimiendo.
Sub Derecho
 El valor es aquel que sigue inmediatamente al que se está
suprimiendo.

RECORRIDOS EN UN ÁRBOL:
A. INORDEN
B. PREORDEN
C. POSTORDEN

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

22
A. RECORRIDO INORDEN

2 Padre

1 3
Subárbol Subárbol
Izquierdo Derecho

B. RECORRIDO PREORDEN

1 Padre

2 3
Subárbol Subárbol
Izquierdo Derecho

C. RECORRIDO POSTORDEN

Padre 3

1 2
Subárbol Subárbol
Izquierdo Derecho

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

23
EJEMPLO: F

Inorden: A B C D E F G H I B H
Preorden: F B A D C E H G I
Posorden: A C E C B G I H F A D G I

C E
EJEMPLO: Recorridos de un árbol.
 Inorden: A B C D E F G H I →
 Preorden: F B A D C E H G I →
 Posorden: A C E C B G I H F →

B H

A D G I

F C E F

B H B H

A D G I A D G I

C E C E

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

RECORRIDOS EN AMPLITUD: 24

B C

D E F G

H I J K L M N O

public boolean busquedaAnchura(char c) {


Queue<NodoArbol> colaAuxiliar = new LinkedList<NodoArbol>();
colaAuxiliar.add(raíz);

while(colaAuxiliar.size() != 0) {
NodoArbol nodo = colaAuxiliar.poll();
System.out.print(“Nodo Value => “ + nodo.value);
if(nodo.value == c){
return true;
}else{
colaAuxiliar.add(nodo.hijo1);
colaAuxiliar.add(nodo.hijo2);
}
}
return false;
}

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

RECORRIDO ENHEBRADO BIDIRECCIONAL INORDEN: 25

CABECERA

B H

A D G I

C E

ABCDEFGHI IHGFEDCBA

Representación en memoria:

INFO IZQ DER


1 B 12 2
NDISP
2 D 11 10
3 6 0
4 F 1 7
5 I -7 -14
6 9 0
7 H 8 5
8 G -4 -7
9 13 0
10 E -2 -4
11 C -1 -2
INICIO 12 A -14 -1
13 0 0
14 4 14

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

CADENA POLACA: 26

Polaco Lukasiewice implanto el árbol de una expresión aritmética


para obtener la cadena infija, prefija y posfija. Hacemos
evaluación utilizando el concepto de pila.
EXPRESION ARITMETICA: Tenemos dos.
Operandos: Letras minúsculas.
Operadores:
( ) ↑
/ * div mod
+ -

Generación de un árbol con expresión aritmética:


𝑎+𝑏
1.
𝑐−𝑑

/
Operadores
Nodos internos
+ -

Info a b c d
E

a b c d
1 2 3 4

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

27

2. (𝑎𝑏 − 𝑐 2 )(𝑑−(𝑔+𝑓))

- -

^ d +
*

a c 2 g f
b

3. (𝑎𝑏 − 𝑐 2 )3

- 3

* ^

a b c 2

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

EJEMPLO: 28

/ /

+ * ↑ ↑

* a f a c d /
*

a b c d 1 2

(𝒂 ∗ 𝒃 + 𝒄 ∗ 𝒅) (𝒂 ↑ 𝒄)
+
𝒂∗𝒇 𝒅 ↑ 𝟏/𝟐

EJERCICIO:
Obtener la cadena infija, prefija y posfija de la siguiente expresión:
𝑎𝑥 2 + 𝑏𝑥 + 𝑐 = 0

−𝑏 ± √𝑏 2 − 4𝑎𝑐
𝑥=
2𝑎
−𝑏 + √𝑏 2 − 4𝑎𝑐
𝑥=
2𝑎
−1 ∗ 𝑏
−𝑏 {
𝑠∗𝑏

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

EJEMPLO: Dada la expresión aritmética. 29

a(b+c)–d/e

* /
Recorrido infijo:
𝑎∗𝑏+𝑐−𝑑/𝑒
a + d e
E

b c

Recorrido prefijo: * /
−∗𝑎+𝑏𝑐/𝑑𝑒
a + d e
E

b c

Recorrido posfijo: * /
𝑎𝑏𝑐+∗𝑑𝑒/−
a + d e
E

b c

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

EJEMPLO: Recorridos. 30

+
 Cadena Infija:
𝑏 ↑𝑐/𝑎+𝑑 ↑𝑒
↑ ↑
 Cadena prefija:
+↑𝑏/𝑐𝑎 ↑𝑑𝑒
 Cadena posfija: b / d e
𝑏𝑐𝑎/↑𝑑𝑒+↑ E

c a
PILAS: a

Es una estructura dinámica en donde las inserciones y


eliminaciones se hacen a través de la cima, utilizando el principio:

“Último en llegar, primero en salir”


LIFO
“Last In First Out”

Push ( ) Pop ( )

Cima

Empilar Depilar

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

Empila de menor a mayor: 31


Cadena (vacía)
Empilar Depilar

Cima

+ 
Pila vacía

EVALUACION MANUAL:
5(6+2)–8/4
Cadena PREFIJA

- * 5 + 6 2 / 8 4
8 2

40
38
-

* /

5 + 8 4
E

6 2

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

USANDO EL METODO DE LA PILA: 32

Símbolo Pila
5 5
5 6 2 + * 8 4 / -
6 5 6
Cadena Posfija 2 5 6 2
+ 5 8
* 40
8 40 8
4 40 8 4
/ 40 2
- 38

TRANSFORMACION DE INFIJA A POSFIJA


a*(b+c)–d/e Cadena de forma original infija
Se debe tener la expresión aritmética como cadena en forma
original de infija; los operadores se manejan de acuerdo a sus
propiedades, como se muestra en el ejemplo siguiente:

Símbolo Pilas Cadena Posfija


( (
a ( a
* (* a
( (*( a
b (*( ab
+ (*(+ ab
c (*(+ abc
) (+ abc+
- (- abc+*
d (- abc+*d
/ (-/ abc+*d
e (-/ abc+*de
) E abc+*de/-

FISI Daniel A. Quinto Pazce


Matemáticas Discretas- FISI – 2017-2 Daniel A. Quinto Pazce

INTEGRANTES: 33

 GARCÍA AGÜERO OSCAR N° 8


 HUAMANCULI CASAVILCA SEBASTIAN N° 10
 PEZZUTTI CASTELO GINO N° 19

FISI Daniel A. Quinto Pazce