SlideShare una empresa de Scribd logo
1 de 16
Estrutura de Dados – SPI (P2) 
Árvores rubro-negras 
Robson Porto de Lucena – 1120190031 
Kelyanne Gualberto de Oliveira – 1410190144
Á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.
Á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.
Á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
Á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 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.
Á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.
Á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
Á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
Á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
Á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”.
Á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.
Á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
Á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
Á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.

Más contenido relacionado

Destacado

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Destacado (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Árvores rubro-negras: estrutura, propriedades e operações de inserção e remoção

  • 1. Estrutura de Dados – SPI (P2) Árvores rubro-negras Robson Porto de Lucena – 1120190031 Kelyanne Gualberto de Oliveira – 1410190144
  • 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. Á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. Á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. Árvores rubro-negras Definição – Estrutura da árvore
  • 6. Árvores rubro-negras Definição – Estrutura do nó
  • 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. Á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. Á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. Á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. Á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. Á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. Á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. Á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. Á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. Á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.