Beruflich Dokumente
Kultur Dokumente
Tpicos Abordados
Introduo
Propriedades
principais
Conceitos
Definio
bsica da estrutura
Insero
Remoo
Comparao
Introduo
Inventada
rvore Rubro-Negra
A rvore
Propriedades
Conceitos
32
54
15
88
60
40
61
75
90
50
Conceitos
A altura
Definio do n
Estrutura
interna de um n
Chave
Cor(Rubro ou Negra)
Ptr Esquerda
Ptr Direita
Insero
Casos
w
tio
v
q
w
v
q
w
v
q
Casos
w
v
q
1 Subcaso
( Depois )
v
q
2 Subcaso
( Depois )
q
v
3 e 4 Subcasos
Os
Insero
Boolean Inserir (const int chave, ptr & filho, ptr & pai, ptr &avo)
{
if (filho == NULL)
{ filho = criar(chave);
return true;
}
else if (chave != filho->chave)
{ boolean e;
if (chave < filho->chave)
e = Inserir(chave, filho->esq, filho, pai);
else
e = Inserir(chave, filho->dir, filho, pai);
if (eh_rubro(filho))
if (e)
if (chave < filho->chave)
{ Remanejar(filho->esq, filho, pai) ;
return false;
}
else
{ Remanejar(filho->dir, filho, pai);
return false;
}
else
return true;
else
return false;
}
else
return eh_rubro(filho);
}
Insero
Applet
(ARN) - Insero
Remoo
A remoo
Remoo
Se o n removido for rubro, a rvore continua rubronegra, pois todas as condies da definio ficam
vlidas:
Remoo
Remoo Efetiva
Caso
( Depois )
v
x
Remoo Efetiva
( Depois )
x
q
Remoo Efetiva
( Antes )
w
v
( Depois )
vc
vc
( Antes )
vc
vc
x
z
w
w
z
( Antes )
wc
vc
x
AVL
rvore B
Rubro Negra
Fator de
balanceamento
Mtodo de
balanceamento
Se uma subrvore de um n
estiver 2 nveis maior que a
outra subrvore
(bal = 1 ou -1) ocorre
uma rotao.
Tolerncia de
desbalanceamento
Uma subrvore no
pode estar 2 vezes maior que
a outra subrvore de um n.
Crescimento
Bibliografia
http://en.wikipedia.org/wiki/Red-black_tree
rvores