Rotação simples à direita (caso LL)
Aplicada quando o excesso de nós está no lado esquerdo do filho esquerdo.
30 20
/ → / \
20 10 30
/
10
Estruturas de dados
Crie sua própria árvore, pratique inserções e remoções e veja como funcionam os principais percursos e rotações.
Valores menores seguem para a esquerda e valores maiores para a direita. Insira ou remova um valor e acompanhe a nova estrutura.
A árvore de exemplo está pronta para edição.
Remoção com dois filhos: a busca começa no filho esquerdo do nó excluído e continua pelos filhos à direita até não existir outro. O último nó encontrado assume o lugar do excluído. No exemplo, a busca começa em 2; como ele não possui filho à direita, o próprio 2 substitui 3, aponta para 4, e a raiz 5 passa a apontar para 2. Se existisse um nó à direita de 2, a busca continuaria até o mais à direita.
Uma rotação reorganiza os nós sem alterar a ordem dos valores. Árvores balanceadas usam essas operações para reduzir a altura e manter buscas eficientes.
Aplicada quando o excesso de nós está no lado esquerdo do filho esquerdo.
30 20
/ → / \
20 10 30
/
10
Aplicada quando o excesso de nós está no lado direito do filho direito.
10 20
\ → / \
20 10 30
\
30
Primeiro gira o filho esquerdo à esquerda; depois gira a raiz à direita.
30 20
/ → / \
10 10 30
\
20
Primeiro gira o filho direito à direita; depois gira a raiz à esquerda.
10 20
\ → / \
30 10 30
/
20
Importante: a árvore criada acima é uma árvore binária de busca comum e não faz rotações automaticamente. Veja o balanceamento em ação no Simulador de Árvore AVL.
Visita primeiro a raiz, depois a subárvore esquerda e, por fim, a direita.
Percorre a esquerda, visita a raiz e termina na subárvore direita.
Visita as subárvores esquerda e direita antes de visitar a raiz.