1 / 7

Árvores AVL

Árvores AVL. Definição : Uma árvore binária vazia é sempre balanceada por altura. Se T não é vazia e TL e TR são suas sub-árvores da esquerda e direita, então T é balanceada por altura se: 1. TL e TR são balanceadas por altura;

Télécharger la présentation

Árvores AVL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ÁrvoresAVL Definição: Uma árvore binária vazia é sempre balanceada por altura. Se T não é vazia e TL e TR são suas sub-árvores da esquerda e direita, então T é balanceada por altura se: 1. TL e TR são balanceadas por altura; 2. |hl - hr|<=1, onde hl e hr são as alturas de TL e TR respectivamente. Adelson-Velskii e Landis em 1962 apresentaram uma árvore de busca binária que é balanceada com respeito a altura das sub-árvores. Uma característica importante deste tipo de árvore é que uma busca é realizada em O(lg(n)) se a árvore possui n nós.

  2. INSERSÃO A inserção em árvores AVL e basicamente a mesma das árvores binárias com algumas considerações para manter o balanceamento da árvore. Uma breve explicação sobre o Algoritmo de Inserção Todo novo nodo inserido tem fator de balanceamento igual a zero. O algoritmo é recursivo (não necessariamente) isso, cria um caminho entre o nodo inserido e a raiz. O algoritmo sendo recursivo faz a verificação de balanceamento no desempilhar das suas chamadas. Se for inserido um nodo à esquerda o fator de balanceamento do nodo pai tornar-se-a -1. Se for inserido um nodo à direita o fator de balanceamento do nodo pai tornar-se-a 1.

  3. Se um nodo for inserido à esquerda e o fator de balanceamento de seu avô for = -1 e seu pai também tiver fatbal = -1 é feita uma rotação simples à direita. Se um nodo for inserido à direita e o fator de balanceamento de seu avô for = 1 e seu pai também tiver fatbal = 1 é feita uma rotação simples à esquerda. Se um nodo for inserido à esquerda e o fator de balanceamento de seu avô for = -1 e seu pai tiver fatbal =1 à e feita uma rotação dupla para direita. Se um nodo for inserido à direita e o fator de balanceamento de seu avô for = 1 e seu pai tiver fatbal = -1 é feita um rotação dupla a esquerda. É necessário ressaltar que o balanceamento de uma sub-árvore TL pertencente a árvore T não implica que T também esteja balanceada pois, a ação de ajuste da sub-árvore TL pode ter desequilibrado a árvore T, então o algoritmo deve tratar esta situação, mas sendo o algoritmo recursivo este caso será verificado a cada desempilhar da chamada anterior e assim será garantido que a árvore T esteja balanceada. Ver Ver Ver Ver

  4. Rotação Simples à Direita Nodo avô desequilibrado fatbal = -1 e fatbal do pai = -1 Avô => p Fatbal = 0 -1 Fatbal = 0 u Pai => u Fatbal = 0 -1 q p q Fatbal = 0 Fatbal = 0 Fatbal = 0 Ok árvore balanceada Volta

  5. Rotação Simples à Esquerda Nodo avô desequilibrado fatbal=1 e pai fatbal=1. Fatbal = 0 1 p Avô => u u Fatbal = 0 1 Pai => p q q Fatbal = 0 OK árvore balanceada Volta

  6. Rotação Dupla à Direita Avô desequilibrado fatbal= -1 e pai = 1 p p Fatbal = 0 -1 q Fatbal =0 Avô => Rotação simples à direita entre p e q. u q Pai => Fatbal = 1 0 u p Rotação simples para esquerda entre u e q. Fatbal =0 Fatbal =0 u q Fatbal = 0 OK árvore balanceada Volta

  7. Avô Rotação Dupla à Esquerda Avô desequilibrado fatbal =1 e pai = -1 p Fatbal = 0 1 p Fatbal = 0 q Uma rotação simples para esquerda entre p e q u q Pai => Fatbal = -1 0 p u Uma rotação simples para direita entre u e q Fatbal = 0 Fatbal = 0 q u Fatbal = 0 OK árvore balanceada Volta

More Related