Está en la página 1de 23

Copyright Cenfotec S.A.

2003
Prof. Mara Eugenia Ucrs, Julia Espinoza G.
BISOFT!"
Es#ruc#uras $e %a#os !
&r'oles (o)o*egro
Ins#ruc#or Es#e'an Meneses
Copyright Cenfotec S.A. 2003
Los rboles 'inarios tienen grandes ventajas como
dispositivos de almacenamiento la b!s"#eda es
rpida$ as% como la inserci&n y el borrado.
Las estr#ct#ras de datos lineales$ s&lo c#mplen
alg#na de esas caracter%sticas.
Sin embargo$ el b#en desempe'o de los rboles
binarios est s#peditado a "#e la inserci&n de nodos
sea alea#oria.
Si la inserci&n de los nodos es en orden ascendente
de las llaves$ el rbol se $egenera.
Se debe rec#rrir a #n mecanismo para 'alancear el
rbol.
In#ro$uccin
Copyright Cenfotec S.A. 2003
(ficiencia O(log n)
&r'oles 'alancea$os
M
%
+
B G
,
O -
.
T
*
Copyright Cenfotec S.A. 2003
(ficiencia O(n)
&r'oles $egenera$os
M
P
,
(
S
+
T
Copyright Cenfotec S.A. 2003
(ficiencia O(n)
&r'oles $egenera$os
M
P
,
(
S
+
T
Copyright Cenfotec S.A. 2003
)rboles ,/0.
Propie$a$es
* La diferencia entre las alt#ras de los hijos n#nca es
mayor a +.
* S#s dos hijos son rboles A,L.
Operaciones
* -otaciones simples.
* -otaciones dobles.
Prece$en#e
Copyright Cenfotec S.A. 2003
(o#acin si1ple
M
%
B
M
%
B
zig-zig
nodo externo
Copyright Cenfotec S.A. 2003
(o#acin $o'le
M
B
%
M
%
B
zig-zag
M
%
B
nodo interno
Copyright Cenfotec S.A. 2003
.odas las operaciones son ig#ales$ en #n principio$ a
los rboles 'inarios.
(/isten alg#nas consi$eraciones especiales con las
operaciones de inserci&n y de borrado.
Los nodos son colorea$os.
0#rante la inserci&n y el borrado$ alg#nas reglas se
deben seg#ir para preservar la config#raci&n de los
colores.
&r'oles (o)o*egro
Copyright Cenfotec S.A. 2003
+1Cada no$o es$ o ro)o$ o negro.
21La raz es siempre de color negro.
31Si #n nodo es ro)o$ s#s hijos deben ser siempre
negros 2a#n"#e lo op#esto no necesariamente es
cierto1.
31C#al"#ier camino de la ra%4 a #na hoja o a #n hijo
n#lo$ debe tener la misma can#i$a$ de nodos negros.
(l n!mero de nodos negros desde la ra%4 hasta #na
hoja se conoce con el nombre de altura negra.
(eglas (o)o*egro
Copyright Cenfotec S.A. 2003
Se p#ede ca1'iar el color de los nodos.
Se p#eden reali4ar ro#aciones.
5o se permiten llaves $uplica$as.
2.1o se cu1plen las reglas3
.a1'ios $e color
(o#aciones
Copyright Cenfotec S.A. 2003
Cambio de colores en la r#ta hacia el l#gar de
insercin.
* Regla de Oro si se enc#entra #n nodo negro con
dos hijos ro)os se debe cambiar el color de todos
2a menos de "#e el padre sea la ra%41.
* Alt#ra negra "#eda in#ac#a.
(l nodo a insertar siempre es ro)o.
Regla de Plata #n rbol binario co1ple#o se debe
colorear siempre negro.
Man#enien$o las reglas (o)o*egro
Copyright Cenfotec S.A. 2003
(egla $e Oro
M
%
+
B G
O -
insertar A
Copyright Cenfotec S.A. 2003
(egla $e Oro 4con#.5
M
%
+
B G
,
O -
Copyright Cenfotec S.A. 2003
(egla $e Oro 4con#.5
M
%
+
B G
,
O -
Copyright Cenfotec S.A. 2003
(egla $e Oro 4con#.5
M
%
+
B G
,
O -
Copyright Cenfotec S.A. 2003
(egla $e Oro 4con#.5
M
%
+
B G
,
O -
Copyright Cenfotec S.A. 2003
(egla $e Pla#a
M
%
+
B G
O -
&r'ol 'inario co1ple#o todas las hojas estn al mismo
nivel y cada nodo no hoja tiene 2 hijos.
Copyright Cenfotec S.A. 2003
(egla $e Pla#a 4con#.5
M
%
+
B G
,
O -
Copyright Cenfotec S.A. 2003
Sea 6 es el nodo insertado$ P s# padre y G s# ab#elo.
6 p#ede ser #n nieto interno o e/terno.
Casos de inserci&n
* Posi'ili$a$ 7 6 es negro. 5o hay problema.
* Posi'ili$a$ ! 6 es rojo y 7 es e/terno.
Cambiar el color de 8.
Cambiar el color de 6.
-otar el ab#elo.
(o#aciones una 8ez inser#a$o el no$o
Copyright Cenfotec S.A. 2003
* Posi'ili$a$ 9 6 es rojo y 7 es interno.
Cambiar el color de 8.
Cambiar el color de 7.
-otar el padre.
-otar el ab#elo.
(o#aciones una 8ez inser#a$o el no$o
Copyright Cenfotec S.A. 2003
E)ercicio 7
* -eali4ar las sig#ientes inserciones
2$29$+3$:$;$+9$2:$39$+$+0$22$+2
* <orrar el nodo +2
E)ercicio !
* -eali4ar las sig#ientes inserciones
+0$++$+2$+3$+3$+9$2=$9$+:$3=$+$=$30
* <orrar el nodo +0
E)ercicio 9
* -eali4ar las sig#ientes inserciones
A$>$?$@$($-$A$8$B$C$<$D$6$L$C
E)ercicios
Copyright Cenfotec S.A. 2003
AE5