Un árbol rojo-negro es un árbol binario de búsqueda donde cada nodo es rojo o negro. Las propiedades incluyen que la raíz y las hojas son negras, los hijos de nodos rojos son negros, y todos los caminos de un nodo a un descendiente tienen la misma cantidad de nodos negros. Las operaciones como búsqueda, rotación, inserción y eliminación preservan estas propiedades a través de la reasignación de colores y rotaciones.
La evolucion de la especie humana-primero de secundaria
Definición y propiedades de un árbol rojo-negro
1.
2. Definición
Un árbol rojo-negro es un árbol binario de
búsqueda en el que cada nodo tiene un
atributo de color cuyo valor es o bien rojo o
bien negro. Además de los requisitos
impuestos a los árboles binarios de búsqueda
convencionales.
3. Propiedades
Cada nodo o es rojo o es negro.
La raíz es siempre negro.
Cada hoja (null) es negra
Si un nodo es rojo, entonces, sus hijos
son negros.
Cada camino de un nodo a cualquier
descendiente tiene la misma cantidad de
nodos negros.
5. OPERACIONES
Búsqueda
La búsqueda consiste acceder a la raíz del
árbol, si el elemento a localizar coincide con
éste la búsqueda ha concluido con éxito, si el
elemento es menor se busca en el subárbol
izquierdo y si es mayor en el derecho. Si se
alcanza un nodo hoja y el elemento no ha
sido encontrado se supone que no existe en
el árbol.
6. Rotación
La estructura de los apuntadores se cambia
mediante rotación, la cual es una operación
que preserva las propiedades de un árbol
binario de búsqueda. Existen dos tipos de
rotaciones: a la izquierda y a la derecha
Rotación Izq. Rotación Der.
7. Inserción
Un árbol Rojo-Negro es un árbol binario, por lo
tanto una inserción en este se hará de la
misma forma que en un ABB, pero el nodo a
insertar será siempre rojo. Posteriormente se
reajustan las propiedades del mismo. Al
momento de hacer la inserción, los
apuntadores derecho e izquierdo del nuevo
nodo son apuntados hacia el “centinela”.
8. Casos de Inserción
Caso 1: El tío de x es Rojo.
Como el abuelo de x es negro, se colorea al
padre y al tío de x de Negro y de Rojo al abuelo.
Caso 2: El tío de x es Negro y x es hijo derecho.
Se usa una rotación a la izquierda para llevarlo al
caso tres, en el que x es hijo izquierdo
Caso 3: El tío de x es Negro y x es hijo izquierdo.
Como x y su padre son rojos, se hace una
rotación derecha, para colorear al padre de x de
negro y al abuelo de x de rojo, de modo que la
nueva raíz del subárbol es el padre de x, cuyo hijo
izquierdo es x e hijo derecho el abuelo de x.
9. Eliminación
La eliminación de un nodo por otro lado
requiere de algunas consideraciones
adicionales a la de un árbol binario común el
proceso de bajas utiliza una estructura
especial llamada “centinela” esta es un objeto
con la misma estructura de un nodo del árbol
y siempre es de color negro. En lugar de que
los apuntadores nulos sean null estos
apuntaran al centinela