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).
fonte
Respostas:
Reivindicação : árvores rubro-negro pode ser arbitrariamente unμ -balanced.
Ideia de prova : preencha a subárvore direita com o maior número possível de nós e a esquerda com o menor número possível de nós para um determinado númerok de nós pretos em cada caminho da folha da raiz.
Prova : Definir uma sequênciaTk de árvores vermelho-negra para que Tk tem k nós de preto em cada caminho a partir da raiz para qualquer folha (virtual). Defina Tk= B ( Lk, Rk) com
Claramente, todosTk são árvores vermelho-pretas.
Por exemplo, estes sãoT1 , T2 e T3 , respectivamente:
[ fonte ]
[ fonte ]
[ fonte ]
Agora vamos verificar se a impressão visual do lado direito é enorme em comparação com a esquerda. Não contarei folhas virtuais; eles não impactam o resultado.
O sub esquerda deTk é completa e tem sempre altura k−1 e, por conseguinte, contém 2k−1 nodos. A subárvore direita, por outro lado, está completa e tem altura 2k−1 e, portanto, contém 22k−1 nós 2 k - 1 . Agora, o valor do equilíbrio em μ para a raiz é
o que prova que não háμ>0 conforme solicitado.
fonte
Não. Considere uma árvore vermelha e preta com a seguinte estrutura especial.
fonte