You are on page 1of 28

rboles de bsqueda

Parte 2

Felipe Restrepo Calle


ferestrepoca@unal.edu.co

Departamento de Ingeniera de Sistemas e Industrial


Facultad de Ingeniera
Universidad Nacional de Colombia
Sede Bogot
rboles de bsqueda
2-3 2-3-4 Rojo-Negro

1. rbol de Bsqueda Binaria BST


2. rboles AVL
3. rboles 2-3
4. rboles 2-3-4
5. rboles rojos-negros
6. rboles B

Estructuras de Datos rboles 2


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

rboles 2-3 Definicin


Un rbol 2-3 es un rbol que est vaco o satisface las
siguientes propiedades:
Los nodos pueden tener 2 3 hijos (2-nodo 3-nodo)
Cumple las propiedades de rbol multicamino de bsqueda
Todas las hojas estn en el mismo nivel

Estructuras de Datos rboles 3


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Implementacin

Estructuras de Datos rboles 4


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas
Bsqueda: similar a los rboles de bsqueda tradicionales
Insercin:
se realiza en las hojas
se pueden producir reestructuraciones del rbol en el camino
de vuelta
Borrado:
se realiza en las hojas
se pueden producir reestructuraciones del rbol en el camino
de vuelta

Estructuras de Datos rboles 5


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Insercin


Pueden ocurrir dos casos:
El elemento a insertar ir en un 2-nodo: INSERCION DIRECTA
El elemento a insertar ir en un 3-nodo: HAY QUE CREAR UN
NUEVO NODO

Estructuras de Datos rboles 6


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Insercin


Ejemplo: Insertar en el siguiente rbol 2-3 los tems: 80, 40 y 70

Estructuras de Datos rboles 7


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Borrado


Pueden ocurrir dos casos:
El elemento a borrar est en un 3-nodo: BORRADO DIRECTO
El elemento a borrar est en un 2-nodo: realizar una
COMBINACIN o ROTACIN

Estructuras de Datos rboles 8


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Borrado


Ejemplo: Borrar en el siguiente rbol 2-3 los tems: 70, 90, 60, 95, 50 y 10.
Criterios: (1) si el nodo tiene dos hijos hay que sustituir por el mayor de la
izq., (2) si el 2-nodo tiene dos hermanos, consultar el hermano de la izq.

Estructuras de Datos rboles 9


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Borrado


Ejemplo: Borrar en el siguiente rbol 2-3 los tems: 70, 90, 60, 95, 50 y 10.
Criterios: (1) si el nodo tiene dos hijos hay que sustituir por el mayor de la
izq., (2) si el 2-nodo tiene dos hermanos, consultar el hermano de la izq.

Estructuras de Datos rboles 10


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

rboles 2-3-4 Definicin


Un rbol 2-3-4 es un rbol que est vaco o satisface las
siguientes propiedades:
Los nodos pueden tener 2, 3 4 hijos (2-nodo, 3-nodo 4-
nodo)
Cumple las propiedades de rbol multicamino de bsqueda
Todas las hojas estn en el mismo nivel

Estructuras de Datos rboles 11


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Implementacin

Estructuras de Datos rboles 12


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas
Bsqueda: similar a los rboles de bsqueda tradicionales
Insercin:
se realiza en las hojas
se pueden producir reestructuraciones del rbol en el camino
de vuelta
Borrado:
se realiza en las hojas
se pueden producir reestructuraciones del rbol en el camino
de vuelta

Estructuras de Datos rboles 13


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Insercin


Existen 3 situaciones en las que se puede encontrar un 4-nodo:

Estructuras de Datos rboles 14


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Insercin


Ejemplo: insertar en un rbol 2-3-4 inicialmente vaco los siguientes
tems: 20, 40, 80, 65, 90, 50, 30, 35, 32, 70, 60

Estructuras de Datos rboles 15


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas - Insercin


Ejemplo: insertar en un rbol 2-3-4 inicialmente vaco los siguientes
tems: 20, 40, 80, 65, 90, 50, 30, 35, 32, 70, 60

Estructuras de Datos rboles 16


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

rboles Rojos-Negros Definicin


Un rbol Rojo-Negro es una representacin en rbol
binario de un rbol 2-3-4.
Los hijos de un nodo en un rbol Rojo-Negro son de dos
tipos: Rojos y Negros.
o Si el hijo ya exista en el rbol 2-3-4 original ser Negro, sino
ser Rojo.

Estructuras de Datos rboles 17


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Propiedades
Es un rbol binario de bsqueda
Cada camino desde la raz hasta las hojas tiene el mismo
nmero de hijos negros (esto es debido a que todos los
nodos externos en un rbol 2-3-4 estn en el mismo
nivel y los hijos negros representan los hijos originales)
Ningn camino desde la raz a las hojas tiene dos o ms
hijos rojos consecutivos

Estructuras de Datos rboles 18


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Representacin
Un 2-nodo ser representado por un nodo q con sus dos hijos de color Negro

Un 3-nodo ser representado por dos nodos conectados con un puntero Rojo

Un 4-nodo ser representado por tres nodos, uno de los cuales es conectado a los
otros dos por punteros Rojos

Estructuras de Datos rboles 19


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Representacin
Ejemplo: representacin de un rbol 2-3-4 como rbol Rojo-Negro

Estructuras de Datos rboles 20


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas
Bsqueda (similar a los rboles binarios de bsqueda. Los colores
de los hijos no se usan)

Insercin (se utilizarn las transformaciones de los 4-nodos


descritas para los rboles 2-3-4)

Borrado

Estructuras de Datos rboles 21


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas Insercin


Es la raz del rbol

Estructuras de Datos rboles 22


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas Insercin


Su padre es un 2-nodo

Estructuras de Datos rboles 23


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas Insercin


Su padre es un 3-nodo

Estructuras de Datos rboles 24


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas Insercin


Transformacin de 4-nodo:
cambiar los hijos de rojos a negros
cambiar enlace con el padre de negro a rojo
Si hay 2 enlaces rojos seguidos: ROTACIONES, no hay cambio de color

Estructuras de Datos rboles 25


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas Insercin


Ejemplo: insertar en un rbol Rojo-Negro inicialmente vaco los
siguiente tems: 20, 40, 80, 65, 90, 50, 30, 35, 32, 70 y 60

Estructuras de Datos rboles 26


rboles de bsqueda
2-3 2-3-4 Rojo-Negro

Operaciones bsicas Insercin


Ejemplo: insertar en un rbol Rojo-Negro inicialmente vaco los
siguiente tems: 20, 40, 80, 65, 90, 50, 30, 35, 32, 70 y 60

Estructuras de Datos rboles 27


rboles de bsqueda
Parte 2
https://sites.google.com/a/unal.edu.co/estructuras-de-datos-2015-1/

Felipe Restrepo Calle


ferestrepoca@unal.edu.co

Departamento de Ingeniera de Sistemas e Industrial


Facultad de Ingeniera
Universidad Nacional de Colombia
Sede Bogot

You might also like