You are on page 1of 15

| 

 

h 

Un árbol rojo negro es un árbol


binario donde cada nodo tiene
también un atributo de color,
cuyo valor puede ser o rojo o
negro. Las hojas de un árbol rojo
negro son irrelevantes y no
tienen datos.
  

v l Nodo contiene un campo extra el cuál se llama


ë  .
v l árbol puede recorrerse por cualquier color, ya
sea rojo o negro.
v Los recorridos mas largos varían a lo mas el
doble del mas corto, esto quiere decir que el árbol
esta prácticamente balanceado.
ÑÑ hh

v La raíz del árbol es negra.


v Los hijos de un nodo rojo son negros.
v Las hojas del árbol son negras.
v l camino más largo desde la raíz hasta una
hoja no es más largo que 2 veces el camino más
corto desde la raíz del árbol a una hoja en dicho
árbol.
Ñ 
v Las operaciones de sólo lectura en un árbol rojo-negro
no requieren modificación alguna con respecto a las
usadas en los árboles binarios de búsqueda, ya que cada
árbol rojo-negro es un caso especial de árbol binario de
búsqueda.
v in embargo las operaciones IN  y LIMIN de
un árbol ojo-Negro modifican la estructura de este y
pueden violar las propiedades de los mismos antes
mencionadas, por lo cual es necesario restablecerlas lo
que implicaría cambiar el color de algunos nodos.


v ara conservar las propiedades que debe


cumplir todo árbol rojo-negro, en ciertos
casos de la inserción será necesario
reestructurar el árbol. ara ello, se llevan a
cabo una o varias rotaciones, que no son
mas que restructuraciones en las relaciones
de los nodos.
Ñ
h

v otación Izquierda:
± Cuando realizamos una otación Izquierda a un
nodo x, asumimos que su hijo derecho no es
nulo.

y x

°
x  y

 °
Ñ
h

v otación Derecha:
± Cuando realizamos una otación Derecha a
un nodo Y, asumimos que su hijo izquierdo
no es nulo.

y x

°
x  y

 °
p h

v 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. i se alcanza un nodo hoja y el
elemento no ha sido encontrado se supone
que no existe en el árbol.
  

Un árbol ojo-Negro es un árbol binario, por lo tanto


una inserción en este se hará de la misma forma que
en un binario, pero el nodo a insertar será siempre
rojo. osteriormente se reajustan las propiedades del
mismo. l momento de hacer la inserción, los
apuntadores derecho e izquierdo del nuevo nodo son
apuntados hacia el ³centinela´.
xisten tres casos para la inserción de un nuevo nodo.
C D IN CIÓN

v Caso 1: l tío de x es ojo.


± Como el abuelo de x es negro, se colorea al
padre y al tío de x de Negro y de ojo al
abuelo.
v Caso 2: l tío de x es Negro y x es hijo
derecho.
± e usa una rotación a la izquierda para llevarlo
al caso tres, en el que x es hijo izquierdo
v Caso 3: l 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.
Ñ
h
 


[   ë      


 

v K  i N es la nueva raíz. n este caso,


hemos acabado. Borramos un nodo negro de
cada camino y la nueva raíz es negra, así las
propiedades se cumplen.

You might also like