Árvore AVL: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
m +correções automáticas (v0.38/3.1.35) |
Alterações ortográficas |
||
Linha 1:
{{Sem-fontes|data=abril de 2011| angola=| arte=| Brasil=| ciência=| geografia=| música=| Portugal=| sociedade=|1=|2=|3=|4=|5=|6=}}
[[Imagem:Unbalanced binary tree.svg|thumb
[[Imagem:AVLtreef.svg|thumb|direita|250px|Mesma árvore após balanceamento por altura, agora uma árvore AVL]]
'''Árvore AVL''' (ou '''árvore balanceada pela altura'''), em [[Ciência da Computação]], é uma [[árvore (estrutura de dados)|árvore]] de busca binária
O nome AVL vem de seus criadores soviéticos [[Georgii Adelson Velsky|Adelson Velsky]] e [[Yevgeniy Landis|Landis]], e sua primeira referência encontra-se no documento ''"Algoritmos para organização da informação"'' de [[1962]].
Nessa estrutura de dados cada elemento é chamado de nó. Um nó contém um valor próprio, um valor de altura, e dois filhos, que são outros nós. A partir desta estrutura é possível montar um algoritmo eficiente para armazenar, buscar e deletar informações.
== Terminologia ==
O nome árvore AVL
== História ==
Esta estrutura foi criada em 1962 pelos soviéticos Adelson Velsky e Landis que a criaram para que fosse possível inserir e buscar um elemento em tempo
== Estrutura e Propriedades ==
Linha 30:
Uma árvore AVL é dita balanceada quando, para cada nó da árvore, a diferença entre as alturas das suas sub-árvores (direita e esquerda) não é maior do que um. Caso a árvore não esteja balanceada é necessário seu balanceamento através da rotação simples ou rotação dupla. O balanceamento é requerido para as operações de inserção e remoção de elementos. Para definir o balanceamento é utilizado um fator específico para nós.
O fator de balanceamento de um nó é dado pelo seu peso em relação a sua
Uma
<math>\log _\varphi(\sqrt{5}(n+2))-2 = \frac{{\log _2(\sqrt{5}(n+2))}} {{\log_2(\varphi)}} -2 = \log _\varphi (2) \cdot \log _2(\sqrt{5}(n+2)) - 2 \approx 1.44\log_2(n+2)-0.328</math>
Linha 50:
=== Remoção ===
Para removermos um nó de valor '''K''' na árvore, devemos buscar '''K '''nesta árvore e, caso '''K '''seja folha da
Para encontrar este valor basta percorrer a subárvore da direita do filho da esquerda de '''K''', até encontrarmos o maior valor''' M''' desta subárvore. O valor de '''K''' será substituído por '''M''', '''K ''' será deletado da árvore e caso '''M '''tenha um filho à esquerda esse filho ocupará sua antiga posição na árvore.
Linha 92:
=== Dicionários ===
=== Geometria Computacional ===
== Bibliografia ==
|