ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.

16
ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios * Recorridos * Tipo

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

Árboles Equivalentes

Dos árboles son equivalentes cuando son similares (tienen la misma estructura o forma), y el mismo contenido.