Estruturas Avançadas de Dados UNISINOS Red-Black Trees Estruturas Avançadas de Dados UNISINOS
Introdução Árvore de pesquisa binária Aproximadamente balanceada Altura máxima = 2log(n+1) Pesquisa = O(log n) 5 campos: conteúdo, cor, pai, filho esquerdo e filho direito
Propriedades Todo nodo é vermelho ou preto Toda folha é preta Se um nodo é vermelho, então ambos seus filhos serão pretos Todo caminho simples de um nodo para uma folha descendente contém o mesmo número de nodos pretos
Exemplo
Inserção Inserção normal em árvore binária, apenas chamando um procedimento de ajuste Este procedimento levará em conta as cores dos nodos
Rotação Definições: Todo nodo inserido é vermelho Nunca existirão dois nodos vermelhos seguidos NIL é preto
Tipos de rotação Simples para direita Simples para esquerda Dupla para direita Dupla para esquerda
O caso da retirada Funciona basicamente como a Inserção Avaliação das propriedades e rotações quando necessário Em alguns casos não há necessidade de ajustes, pois as propriedades são satisfeitas
Observações Os procedimentos de rotação são os mesmos das árvores AVL, apenas mudando as condições com que elas ocorrem Pesquisa em tempo logarítmico, o que é muito rápido