Estrutura de Dados – SPI (P2) 
Árvores rubro-negras 
Robson Porto de Lucena – 1120190031 
Kelyanne Gualberto de Oliveira –...
Árvores rubro-negras 
Definição 
Uma árvore rubro-negra é uma árvore de busca binária que 
insere e remove de forma inteli...
Árvores rubro-negras 
Definição 
1. Por convenção, a raiz é preta; 
2. Todo nó é vermelho ou preto. 
3. Toda folha é preta...
Árvores rubro-negras 
Definição 
Quando usar: Quando não usar: 
• conjunto rico de operações 
• dados dinâmicos 
• garanti...
Árvores rubro-negras 
Definição – Estrutura da árvore
Árvores rubro-negras 
Definição – Estrutura do nó
Árvores rubro-negras 
Operações - Inserção 
• Uma inserção se inicia de forma semelhante a uma inserção 
em árvore bi...
Árvores rubro-negras 
Operações – Inserção – Inserção 1 (árvore vazia) 
Todo nó inserido na árvore será a princípio ve...
Árvores rubro-negras 
Operações – Inserção – Inserção 2 (pai vermelho) 
Nesta condição, o pai do elemento a ser inserido...
Árvores rubro-negras 
Operações – Inserção – Inserção 3 (tio preto) 
Esse procedimento também observa se o pai é vermelh...
Árvores rubro-negras 
Operações – Inserção – Inserção 3 (tio preto) 
Caso o nó filho seja inserido à direita do pai é n...
Árvores rubro-negras 
Operações - Remoção 
Existem dois tipos de remoção em uma árvore: 
1. A remoção efetiva (físic...
Árvores rubro-negras 
Operações – Remoção – Remoção 1 (nó rubro) 
Se o nó que será removido for rubro não é necessári...
Árvores rubro-negras 
Operações – Remoção – Remoção 2 (nó rubro 2) 
Se o nó for rubro e o seu sucessor também for rubro,...
Árvores rubro-negras 
Operações – Remoção– Remoção 3 (filho rubro 3) 
Se o nó que será removido for negro e seu filho fo...
Árvores rubro-negras 
Aplicações 
• A árvore VP, assim com a AVL, necessita de no máximo 1 rotação para balancear 
na inse...
Próximos SlideShares
Carregando em…5
×

Estrutura

342 visualizações

Publicada em

lkjlkjlkj

Publicada em: Internet
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
342
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Estrutura

  1. 1. Estrutura de Dados – SPI (P2) Árvores rubro-negras Robson Porto de Lucena – 1120190031 Kelyanne Gualberto de Oliveira – 1410190144
  2. 2. Árvores rubro-negras Definição Uma árvore rubro-negra é uma árvore de busca binária que insere e remove de forma inteligente, para assegurar que a árvore permaneça aproximadamente balanceada. As árvores rubro-negras possuem um bit extra para armazenar a cor de cada nó, que pode ser vermelho ou preto.
  3. 3. Árvores rubro-negras Definição 1. Por convenção, a raiz é preta; 2. Todo nó é vermelho ou preto. 3. Toda folha é preta; 4. Se um nó é vermelho, os filhos serão pretos; 5. Para cada nó, todos os caminhos do nó para folhas descendentes contém o mesmo número de nós pretos.
  4. 4. Árvores rubro-negras Definição Quando usar: Quando não usar: • conjunto rico de operações • dados dinâmicos • garantia de desempenho • dados mudam pouco • não requer todas essas operações
  5. 5. Árvores rubro-negras Definição – Estrutura da árvore
  6. 6. Árvores rubro-negras Definição – Estrutura do nó
  7. 7. Árvores rubro-negras Operações - Inserção • Uma inserção se inicia de forma semelhante a uma inserção em árvore binária, pois se trata apenas da adição de um nó na estrutura de dados. • O elemento que é inserido na árvore rubro-negra possui sempre a cor vermelha, porém este é comparado com os outros elementos nas suas posições conforme as propriedades.
  8. 8. Árvores rubro-negras Operações – Inserção – Inserção 1 (árvore vazia) Todo nó inserido na árvore será a princípio vermelho, portanto é necessário alterar a cor do primeiro nó para preto. Dessa forma a propriedade 1 (a raiz é sempre preta) não será violada.
  9. 9. Árvores rubro-negras Operações – Inserção – Inserção 2 (pai vermelho) Nesta condição, o pai do elemento a ser inserido é vermelho, portanto é necessário fazer modificações na árvore tendo em vista que a propriedade 4 (Se um nó é vermelho, os filhos serão pretos) está sendo violada. A inserção do novo nó depende da cor do tio, filho direito da raiz, se este for vermelho é feita a troca de cores do tio, pai e avô. avô pai tio avô pai tio nó não inserido nó inserido
  10. 10. Árvores rubro-negras Operações – Inserção – Inserção 3 (tio preto) Esse procedimento também observa se o pai é vermelho, porém depende do tio ser preto. Neste caso, o nó será inserido à esquerda do pai e para esse procedimento é realizada uma rotação à direita e uma mudança de cor do pai e do avô. avô pai ex-avô ex-tio tio pai
  11. 11. Árvores rubro-negras Operações – Inserção – Inserção 3 (tio preto) Caso o nó filho seja inserido à direita do pai é necessário proceder uma rotação à esquerda entre o novo nó e seu avô. Como consequência da rotação, o novo nó se tornará filho esquerdo do seu pai. pai filho ex-pai ex-filho
  12. 12. Árvores rubro-negras Operações - Remoção Existem dois tipos de remoção em uma árvore: 1. A remoção efetiva (física), com as operações de rotação e alteração de cor, remove-se o nó e estabelece-se as propriedades da árvore; 2. A remoção preguiçosa (virtual), marca-se um nó como removido, mas efetivamente não o retira. Sendo desta maneira nenhuma alteração é efetuada na árvore, porém são necessários novos mecanismos de busca e inserção para que reconheçam o nó como "ausente”.
  13. 13. Árvores rubro-negras Operações – Remoção – Remoção 1 (nó rubro) Se o nó que será removido for rubro não é necessário fazer nenhum ajust e na árvore, pois a remoção de nó vermelho não altera o balanceamento das árvores. As ilustrações a seguir exemplificam a remoção do elemento 49 de acordo com a remoção 1.
  14. 14. Árvores rubro-negras Operações – Remoção – Remoção 2 (nó rubro 2) Se o nó for rubro e o seu sucessor também for rubro, faz -se uma referência do nó que será removido para o seu sucessor e então o exclui da subárvore do sucessor. Nesse procedimento não é necessário modificar a coloração do nó que foi referenciado As ilustrações a seguir exemplificam a remoção do elemento 47 de acordo com a remoção 2
  15. 15. Árvores rubro-negras Operações – Remoção– Remoção 3 (filho rubro 3) Se o nó que será removido for negro e seu filho for rubro, faz a troca da cor do filho para negro e dessa forma mantém os números de nós pretos de todos os caminhos iguais. As ilustrações a seguir exemplificam a remoção do elemento 47 de acordo com a remoção 3
  16. 16. Árvores rubro-negras Aplicações • A árvore VP, assim com a AVL, necessita de no máximo 1 rotação para balancear na inserção. • Na remoção, a VP faz no máximo 1 rotação (simples ou dupla), enquanto a AVL pode necessitar de mais de uma. • A árvore VP tem melhor pior caso que a árvore AVL - isso faz com que a árvore seja utilizada em aplicações de tempo real (críticas) • Pode ser usada para construir blocos em outras estruturas de dados que precisam de garantias no pior caso. Por exemplo: estruturas de dados em geometria computacional podem ser baseadas em árvores VP. • Em programas que apresentem dados dinâmicos e que necessitam de garantia em seu desempenho.

×