You are on page 1of 8

Eliminacion en arboles Rojo y Negro

En un rbol binario de bsqueda normal, cuando se borra un nodo con dos nodos internos como hijos,
tomamos el mximo elemento del subrbol izquierdo o el mnimo del subrbol derecho, y movemos su valor al
nodo que es borrado. Borramos entonces el nodo del que copibamos el valor que debe tener menos de dos
nodos no hojas por hijos. Copiar un valor no viola ninguna de las propiedades rojo-negro y reduce el
problema de borrar en general al de borrar un nodo con como mucho un hijo no hoja. No importa si
este nodo es el nodo que queramos originalmente borrar o el nodo del que copiamos el valor.
Resumiendo,

podemos asumir que

tiene nodos hojas por

hijos,

borramos un

tomaremos uno de

podemos simplemente reemplazarlo con

su

hijo,

nodo con

como mucho

ellos como su

hijo).

que

negro.

debe ser

un
Si

hijo no

hoja (si

borramos un

Todos los

solo

nodo rojo,

caminos hasta

el

nodo borrado simplemente pasarn a travs de un nodo rojo menos, y ambos nodos, el padre del borrado y el
hijo, han de ser negros, as que las propiedades 3 (todas las hojas, incluyendo las nulas, son negras) y 4 (los dos
hijos de cada nodo rojo son negros) se mantienen. Otro caso simple es cuando el nodo borrado es negro y su
hijo es

rojo.

Simplemente eliminar un

cada nodo rojo son negros) y

nodo negro

5 (todos los

podra romper las

propiedades 4

(los

dos

hijos de

caminos desde un nodo dado hasta sus hojas contienen el

mismo nmero de nodos negros), pero si repintamos su hijo de negro, ambas propiedades quedan preservadas.
Encontraremos el hermano usando esta funcin:

Podemos realizar los

pasos resaltados arriba con

el

siguiente cdigo,

donde la

funcin reemplazar

nodosustituye hijo en el lugar de n en el rbol. Por facilitar la comprensin del ejemplo, en el cdigo de
esta seccin supondremos que las hojas nulas estn representadas por nodos reales en lugar de NULL (el
cdigo de la seccin insercin trabaja con ambas representaciones).

Leave a comment

Insercion en un arbol Rojo y Negro


Para la insercin se hace de la misma forma que en un rbol ABB teniendo en cuenta que el nodo a insertar
siempre

se

pinta

de

rojo.

trmino to nodo ser usado para

Lo

que

sucede despus depende del

referenciar al

hermano del

color

padre

de

de

otros nodos cercanos.

un

nodo,

como en

El
los

rboles familiares humanos. Cabe notar que el nodo a insertar se pinta de rojo para que las condiciones del
rbol rojo y negro no se vean afectadas. La nica propiedad que se debe verificar es la condicin roja, dado que
si quedan dos nodos rojos juntos hay que hacer unas rotaciones.
En el momento de insercin se pueden presentar los siguientes casos:

Caso trivial : Si el padre del nodo insertado es negro no se realiza ningn ajuste ( El rbol es correcto )
En caso contrario se entra en un bucle donde se comprueba el nodo que se inserto( el cul es de color ROJO ) y
los casos siguientes se refieren a situaciones en que su padre existe y es tambin ROJO.
CASO 1: Tio ROJO , nodo x izquierdo o derecho.

NOTA: Si A llega ser la raz esta se cambia a color NEGRO para cumplir con la propiedad.
CASO 2: To NEGRO y nodo x es hijo derecho.

Como se puede apreciar al realizar la rotacin simple a la izquierda no se resuelve el problema porque siguen
quedando los dos nodos rojos juntos. Pero ahora el nodo a comprobar es hijo izquierdo y por lo tanto se aplica
el siguiente caso:
CASO 3:
To negro, nodo x es izquierdo.

Esto representado en cdigo queda as :

Finalizando el metodo de insertar llamamos al mtodo arreglar insercin el cul se encargar de tratar los
casos mencionados anteriormente:

Busqueda en arbol Rojo y Negro


La bsqueda consiste en ingresar a la raz del rbol, si el elemento que queremos localizar coincide con la
bsqueda efectuada entonces se dice que fue realizada con xito, si el elemento es menor se busca con el
subrbol izquierdo y si es mayor con el derecho.

Operaciones con arboles Rojo y Negro


ROTACION:
Rotacin a la izquierda:

Rotacin a la derecha:

Arboles Rojo y Negro


Un

rbol rojo negro

es

un

tipo abstracto de

datos,

concretamente es

un

rbol binario de

bsqueda equilibrado una estructura de datos utilizada en informtica y ciencias de la computacin. La


estructura original fue creada por Rudolf Bayer en 1972, que le dio el nombre de rboles-B binarios
simtricos, pero tom su nombre moderno en un trabajo de Leo J. Guibas y Robert Sedgewick realizado en
1978. Es complejo, pero tiene un buen peor caso de tiempo de ejecucin para sus operaciones y es eficiente en la
prctica. Puede buscar, insertar y borrar en un tiempo O (log n), donde n es el nmero de elementos del rbol.
Sera ideal

exponer la

algn lenguaje de

especificacin algebraica completa de

especificacin de

este tipo abstracto de

TADs como podra ser Maude;

sin

embargo,

datos (TAD)
la

escrita en

complejidad de

la

estructura hace que la especificacin quede bastante ilegible, y no aportara nada. Por tanto, explicaremos su
funcionamiento con palabras, esquemas e implementaciones de funciones en el lenguaje de programacin C.
PROPIEDADES:

Un rbol rojo-negro es un rbol binario de bsqueda en el que cada nodo tiene un atributo de color cuyo valor
es rojo o negro. Adems de los requisitos impuestos a los rboles binarios de bsqueda convencionales, se
deben satisfacer los siguientes para tener un rbol rojo-negro vlido:
1. Todo nodo es o bien rojo o bien negro.
2. La raz es negra.
3. Todas las hojas son negras (las hojas son los hijos nulos).
4. Los hijos de todo nodo rojo son negros (tambin llamada

Propiedad del rojo).

5. Cada camino simple desde un nodo a una hoja descendiente contiene el mismo nmero de nodos negros, ya
sea contando siempre los nodos negros nulos, o bien no contndolos nunca (el resultado es equivalente).
Tambin es llamada Propiedad

del camino, y al nmero de nodos negros de cada camino, que es

constante para todos los caminos, se le denomina Altura negra del rbol, y por tanto el camino no
puede tener dos rojos seguidos.
6. El camino ms largo desde la raz hasta una hoja no es ms largo que 2 veces el camino ms corto desde la
raz del rbol a una hoja en dicho rbol. El resultado es que dicho rbol est aproximadamente equilibrado.
Algo importante en este rbol es que es a travs de la propiedad de color que se logra mantener el rbol
balanceado.