Professional Documents
Culture Documents
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
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
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
1. Puntero “Raíz”
Raíz
B C
D E F G
H I
B C
D E F G
H I
ARBOL BINARIO: 4
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.
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
ARBOL EXTENDIDO: 6
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
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
EJEMPLO:
Crear un árbol de nivel 3. Si n = 3, entonces N(3) = 9
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
Dado
𝑵𝒊 ≥ 𝑵𝒔𝒖𝒃𝒊𝒛𝒒 y 𝑵𝒊 ≤ 𝑵𝒔𝒖𝒃𝒅𝒆𝒓 C A R M E N
C
Ni
A R
N N
SUBIZQ SUBDER
M
E N
Árbol alfabético B H
A D F I
70
Árbol Ponderado
30 100
10 45 80 200
2 35 50
I 0
D R 1
N S 2
ABCDEFGHIJKLMNOPQRSWXYZ E
L O 3
J M 4
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
13
Representación en la memoria:
Grafo:
11 0111 00 10 0110 010
G R A F F O
Lista:
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.55 0.45
1.00
1.00
0.45 0.55
D 0.25 0.30
T S I
0.05 0.09
M A
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
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
1.00 0 1 0 1
Representación en la memoria: A O K L
Lista:
SubIzq Info SubDer
ó
Ejemplo:
E M I L I O S M I T
22 5 11 19 2 6 4 3 7 8
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
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
Representación Enlazada:
De un árbol Binario.
B H
A I
D D G
C E
D D
20
OPERACIÓN EN UN ÁRBOL DE BB:
PRIMER CASO
F F
B H B H
A D A D
C E C
SEGUNDO CASO
F
F
B H
A I
A I
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
RECORRIDOS EN UN ÁRBOL:
A. INORDEN
B. PREORDEN
C. POSTORDEN
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
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
RECORRIDOS EN AMPLITUD: 24
B C
D E F G
H I J K L M N O
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;
}
CABECERA
B H
A D G I
C E
ABCDEFGHI IHGFEDCBA
Representación en memoria:
CADENA POLACA: 26
/
Operadores
Nodos internos
+ -
Info a b c d
E
a b c d
1 2 3 4
27
2. (𝑎𝑏 − 𝑐 2 )(𝑑−(𝑔+𝑓))
- -
^ d +
*
a c 2 g f
b
3. (𝑎𝑏 − 𝑐 2 )3
- 3
* ^
a b c 2
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 ∗ 𝑏
−𝑏 {
𝑠∗𝑏
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
EJEMPLO: Recorridos. 30
+
Cadena Infija:
𝑏 ↑𝑐/𝑎+𝑑 ↑𝑒
↑ ↑
Cadena prefija:
+↑𝑏/𝑐𝑎 ↑𝑑𝑒
Cadena posfija: b / d e
𝑏𝑐𝑎/↑𝑑𝑒+↑ E
c a
PILAS: a
Push ( ) Pop ( )
Cima
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
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
INTEGRANTES: 33