bisoft-28 estructuras de datos 2 · copyright cenfotec s.a. 2003 • los árboles binarios tienen...

23
Copyright Cenfotec S.A. 2003 Prof. María Eugenia Ucrós, Julia Espinoza G. BISOFT-28 Estructuras de Datos 2 Árboles Rojo-Negro Instructor Esteban Meneses

Upload: others

Post on 24-Jun-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003 Prof. María Eugenia Ucrós, Julia Espinoza G.

BISOFT-28Estructuras de Datos 2

Árboles Rojo-Negro

Instructor Esteban Meneses

Page 2: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así como la inserción y el borrado.

• Las estructuras de datos lineales, sólo cumplen alguna de esas características.

• Sin embargo, el buen desempeño de los árboles binarios está supeditado a que la inserción de nodos sea aleatoria.

• Si la inserción de los nodos es en orden ascendente de las llaves, el árbol se degenera.

• Se debe recurrir a un mecanismo para balancear el árbol.

Introducción

Page 3: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Eficiencia O(log n)

Árboles balanceados

M

D Q

B G

A

O Z

C TN

Page 4: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Eficiencia O(n)

Árboles degenerados

M

PA

R

SQ

T

Page 5: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Eficiencia O(n)

Árboles degenerados

M

PA

R

SQ

T

Page 6: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Árboles AVL.• Propiedades:

– La diferencia entre las alturas de los hijos nunca es mayor a 1.

– Sus dos hijos son árboles AVL.• Operaciones:

– Rotaciones simples.– Rotaciones dobles.

Precedente

Page 7: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Rotación simple

M

D

B

M

D

Bzig-zig

nodo externo

Page 8: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Rotación doble

M

B

D

M

D

B

zig-zag

M

D

Bnodo interno

Page 9: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Todas las operaciones son iguales, en un principio, a los árboles binarios.

• Existen algunas consideraciones especiales con las operaciones de inserción y de borrado.

• Los nodos son coloreados.• Durante la inserción y el borrado, algunas reglas se

deben seguir para preservar la configuración de los colores.

Árboles Rojo-Negro

Page 10: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

1)Cada nodo es, o rojo, o negro.2)La raíz es siempre de color negro.3)Si un nodo es rojo, sus hijos deben ser siempre

negros (aunque lo opuesto no necesariamente es cierto).

4)Cualquier camino de la raíz a una hoja o a un hijo nulo, debe tener la misma cantidad de nodos negros.

El número de nodos negros desde la raíz hasta una hoja se conoce con el nombre de altura negra.

Reglas Rojo-Negro

Page 11: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Se puede cambiar el color de los nodos.• Se pueden realizar rotaciones.

• No se permiten llaves duplicadas.

¿Cómo se cumplen las reglas?

Cambios de color

Rotaciones

Page 12: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Cambio de colores en la ruta hacia el lugar de inserción.– Regla de Oro: si se encuentra un nodo negro con

dos hijos rojos se debe cambiar el color de todos (a menos de que el padre sea la raíz).

– Altura negra queda intacta.• El nodo a insertar siempre es rojo.• Regla de Plata: un árbol binario completo se debe

colorear siempre negro.

Manteniendo las reglas Rojo-Negro

Page 13: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Regla de Oro

M

D Q

B G O Z

insertar A

Page 14: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Regla de Oro (cont.)

M

D Q

B G

A

O Z

Page 15: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Regla de Oro (cont.)

M

D Q

B G

A

O Z

Page 16: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Regla de Oro (cont.)

M

D Q

B G

A

O Z

Page 17: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Regla de Oro (cont.)

M

D Q

B G

A

O Z

Page 18: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Regla de Plata

M

D Q

B G O Z

Árbol binario completo: todas las hojas están al mismo nivel y cada nodo no hoja tiene 2 hijos.

Page 19: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

Regla de Plata (cont.)

M

D Q

B G

A

O Z

Page 20: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Sea X es el nodo insertado, P su padre y G su abuelo.• X puede ser un nieto interno o externo.• Casos de inserción:

– Posibilidad 1: P es negro. No hay problema.– Posibilidad 2: P es rojo y X es externo.

• Cambiar el color de G.• Cambiar el color de P.• Rotar el abuelo.

Rotaciones una vez insertado el nodo

Page 21: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

– Posibilidad 3: P es rojo y X es interno.• Cambiar el color de G.• Cambiar el color de X.• Rotar el padre.• Rotar el abuelo.

Rotaciones una vez insertado el nodo

Page 22: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

• Ejercicio 1– Realizar las siguientes inserciones:

2,25,13,8,9,15,28,35,1,10,22,12– Borrar el nodo 12

• Ejercicio 2– Realizar las siguientes inserciones:

10,11,12,13,14,15,27,5,18,37,1,7,40– Borrar el nodo 10

• Ejercicio 3– Realizar las siguientes inserciones:

A,Z,Q,W,E,R,F,G,H,Y,B,M,P,L,C

Ejercicios

Page 23: BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen grandes ventajas como dispositivos de almacenamiento: la búsqueda es rápida, así

Copyright Cenfotec S.A. 2003

FIN