BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen...
Transcript of BISOFT-28 Estructuras de Datos 2 · Copyright Cenfotec S.A. 2003 • Los árboles binarios tienen...
![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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/1.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/2.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/3.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/4.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/5.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/6.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/7.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/8.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/9.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/10.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/11.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/12.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/13.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/14.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/15.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/16.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/17.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/18.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/19.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/20.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/21.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/22.jpg)
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í](https://reader036.fdocuments.net/reader036/viewer/2022062506/5f0c42697e708231d434842d/html5/thumbnails/23.jpg)
Copyright Cenfotec S.A. 2003
FIN