Intuitivamente, "árvores equilibradas" devem ser árvores nas quais as subárvores esquerda e direita em cada nó devem ter "aproximadamente o mesmo" número de nós.
Obviamente, quando falamos de árvores vermelhas-pretas * (ver definição no final) sendo equilibradas, na verdade queremos dizer que elas são equilibradas em altura e, nesse sentido, são equilibradas.
Suponha que tentemos formalizar a intuição acima da seguinte maneira:
Definição: Uma árvore binária é chamada balanceada, com , se para cada nó , a desigualdade
mantém e para cada , há algum nó para o qual a instrução acima falha. é o número de nós na subárvore esquerda de eé o número de nós sob a árvore com como raiz (incluindo a raiz).
Acredito que essas árvores sejam chamadas de árvores com peso equilibrado em algumas publicações sobre esse tópico.
Pode-se mostrar que se uma árvore binária com nós é balanceada (para uma constante ), a altura da árvore é , mantendo assim a boa pesquisa propriedades.
Então a questão é:
Há alguns tal que cada grande o suficiente vermelho-preto árvore é -balanced?
A definição de árvores Vermelho-Pretas que usamos (de Introdução aos Algoritmos por Cormen et al):
Uma árvore de pesquisa binária, em que cada nó é colorido em vermelho ou preto e
- A raiz é preta
- Todos os nós NULL são pretos
- Se um nó é vermelho, os dois filhos são pretos.
- Para cada nó, todos os caminhos desse nó para os nós NULL descendentes têm o mesmo número de nós pretos.
Nota: não contamos os nós NULL na definição de balanceada acima. (Embora eu acredite que não importa se o fizermos).