"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Implementando Rotações

Implementando Rotações

Publicado em 01/08/2024
Navegar:722

Uma árvore desequilibrada torna-se equilibrada ao realizar uma operação de rotação apropriada. A seção Rebalanceamento de árvores ilustra como realizar rotações em um nó. O código abaixo fornece o algoritmo para a rotação LL, conforme ilustrado na Figura abaixo.

1 balanceLL(TreeNode A, TreeNode parentOfA) {
2 Seja B o filho esquerdo de A.
3
4 se (A é a raiz)
5 Seja B a nova raiz
6 outros {
7 se (A é filho esquerdo de parentOfA)
8 Seja B um filho esquerdo de parentOfA;
9 outros
10 Seja B um filho certo de parentOfA;
11}
12
13 Faça de T2 a subárvore esquerda de A atribuindo B.right a A.left;
14 Faça de A o filho certo de B atribuindo A a B.right;
15 Atualize a altura do nó A e do nó B;
16 } // Fim do método

Implementing Rotations

Observe que a altura dos nós A e B pode ser alterada, mas as alturas de outros nós na árvore não são alteradas. Você pode implementar as rotações RR, LR e RL de maneira semelhante.

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/paulike/implementing-rotations-m91?1 Se houver alguma infração, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3