ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.
-
Upload
eduardo-rivas-alarcon -
Category
Documents
-
view
233 -
download
1
Transcript of ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.
![Page 1: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/1.jpg)
ESTRUCTURA DE DATOS IIIng. Freddy Melgar Algarañaz
Árboles Binarios* Recorridos* Tipo
![Page 2: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/2.jpg)
Recorridos
Recorrer el árbol es “pasar por” o “visitar” todos los nodos del mismo.
Recorridos típicos: Preorden (R-I-D) Inorden (I-R-D) Postorden (I-D-R)
![Page 3: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/3.jpg)
Recorrido Preorden
Proceso: Visita el nodo raíz del
árbol. Recorre el preorden el
subárbol izquierdo del nodo raíz.
Recorre el preorden el subárbol derecho del nodo raíz.
Aplicación: Generar una réplica del árbol.
21, 13, 10, 18, 33, 25, 40
13
21
10 18 25 40
33
Recorrido en Preorden
![Page 4: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/4.jpg)
Recorrido Inorden
Proceso: Recorre en inorden el
subárbol izquierdo. Visita la raíz del árbol. Recorre en inorden el
subárbol derecho.
Aplicación: Desplegar en orden creciente los elementos del árbol si este es un ABB.
10, 13, 18, 21, 25, 33, 40
13
21
10 18 25 40
33
Recorrido en Inorden
![Page 5: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/5.jpg)
Recorrido Postorden
Proceso: Recorre en postorden
el subárbol izquierdo. Recorre en postorden
el subárbol derecho. Visita la raíz del árbol.
Aplicación: Liberar los nodos de un árbol.
10, 18, 13, 25, 40, 33, 21
13
21
10 18 25 40
33
Recorrido en Postorden
![Page 6: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/6.jpg)
Ejemplo....
7
12
49
8
16
19
25
21
211
2, 4, 8, 11, 9, 7, 19, 16, 25, 21, 12
Recorrido en Postorden
2, 4, 7, 8, 9, 11, 12, 16, 19, 21, 25
Recorrido en Inorden
12, 7, 4, 2, 9, 8, 11, 21, 16, 19, 25
Recorrido en Preorden
![Page 7: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/7.jpg)
Ejemplo....
#
@8
A %2
$ 5
$, 2, @, 5, A, %, 8, #
Recorrido en Postorden
2, $, @, #, 5, A, 8, %
Recorrido en Inorden
Recorrido en Preorden
#, @, 2, $, 8, A, 5, %
![Page 8: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/8.jpg)
Dado los siguientes recorridos:
Dados 2 recorridos, construir el árbol
%
$
A &
#
A, %, &, $, #
Recorrido en Inorden
Recorrido en Preorden
$, %, A, &, #
El Preorden indica que la raíz es: $
El Inorden indica quién está a la izquierda y quién a la derecha
$
Paso1
A, %, & #
El Preorden también indica cuál es el siguiente valor a procesar
Paso2
%
$ #
A &
Paso3
%
$
A
#
&
Paso4
%
$
A &
#
Paso5
$, %, A, &, # $, %, A, &, #
$, %, A, &, # $, %, A, &, #
$, %, A, &, #
![Page 9: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/9.jpg)
Dados 2 recorridos, construir el árbol
Dado los siguientes recorridos:
%
$
A &
#
A, %, &, $, #
Recorrido en Inorden
Recorrido en Postorden
A, &, %, #, $
El Postorden indica que la raíz es: $
El Inorden indica quién está a la izquierda y quién a la derecha
$
Paso1
A, %, & #
El Postorden también indica cuál es el siguiente valor a procesar
Paso2
$
Paso3
%
$
&
Paso4
%
$
&
Paso5
A, &, %, #, $ A, &, %, #, $
A, &, %, #, $ A, &, %, #, $
A, &, %, #, $
#
A, %, &
#A #A
![Page 10: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/10.jpg)
Ejemplo Preorden
GG-DG-D-BG-D-B-AG-D-B-A-CG-D-B-A-C-E
G
D K
B E H M
A C F J
I
L
G
1
D
2
B
3
A
4
C
5
E
6
F
7
G-D-B-A-C-E-F
K
8
G-D-B-A-C-E-F-K
H
9
G-D-B-A-C-E-F-K-H
J
10
G-D-B-A-C-E-F-K-H-J
I
11
G-D-B-A-C-E-F-K-H-J-I
M
12
G-D-B-A-C-E-F-K-H-J-I-M
L
13
G-D-B-A-C-E-F-K-H-J-I-M-L
1. Visitar raiz2. Preorden al Subarbol Izq.3. Preorden al Subarbol Der.
![Page 11: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/11.jpg)
Un árbol de altura h, esta lleno si Todas sus hojas esta en el nivel h Los nodos de altura menor a h tienen siempre
2 hijos Recursiva
Si T esta vacío, Entonces T es un árbol binario lleno de altura 0
Si no esta vacío, y tiene h>0 Esta lleno si los subárboles de la raíz, son ambos
árboles binarios llenos de altura h-1
Árbol Binario Lleno
![Page 12: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/12.jpg)
Un árbol de altura h esta completo si:◦ Es un árbol en el que todos sus nodos,
excepto los del ultimo nivel, tienen dos hijos.
◦ Número de nodos en un árbol binario completo = 2h –1 (en el ejemplo h = 4, 15) esto nos ayuda a calcular el nivel de árbol necesario para almacenar los datos de una aplicación.
Si un árbol esta lleno, también esta completo.
Árbol Binario Completo
![Page 13: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/13.jpg)
Un árbol equilibrado es cuando: La diferencia de altura entre los subárboles de
cualquier nodo es máximo 1
Un árbol binario equilibrado totalmente: Los subárboles izquierdo y derecho de cada
nodo tienen las misma altura: es un árbol lleno
Un árbol completo es equilibrado Un árbol lleno es totalmente equilibrado
Otros
![Page 14: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/14.jpg)
Árboles Distintos
Dos o más árboles son distintos cuando:•Tienen el mismo contenido, pero estructura diferente•Tienen la misma estructura, pero contenido diferente
![Page 15: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/15.jpg)
Árboles Similares
Dos árboles son similares, cuando tienen la misma estructura (forma), pero contenido diferente.
![Page 16: ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.](https://reader036.fdocuments.net/reader036/viewer/2022062305/5665b4db1a28abb57c944ce2/html5/thumbnails/16.jpg)
Árboles Equivalentes
Dos árboles son equivalentes cuando son similares (tienen la misma estructura o forma), y el mismo contenido.