A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

18/1/2014EDA - Prof. Paulemir Campos1 Pesquisas de Dados (Parte 2) UPE – Caruaru – Sistemas de Informação Disciplina: Estrutura de Dados e Arquivo Prof.:

Apresentações semelhantes


Apresentação em tema: "18/1/2014EDA - Prof. Paulemir Campos1 Pesquisas de Dados (Parte 2) UPE – Caruaru – Sistemas de Informação Disciplina: Estrutura de Dados e Arquivo Prof.:"— Transcrição da apresentação:

1 18/1/2014EDA - Prof. Paulemir Campos1 Pesquisas de Dados (Parte 2) UPE – Caruaru – Sistemas de Informação Disciplina: Estrutura de Dados e Arquivo Prof.: Paulemir G. Campos

2 18/1/2014EDA - Prof. Paulemir Campos2 Conteúdo Árvores AVL Definição; Exemplo e contra-exemplo; Balanceamento; Exemplo de rotação dupla. Referências

3 18/1/2014EDA - Prof. Paulemir Campos3 Árvores AVL

4 18/1/2014EDA - Prof. Paulemir Campos4 Árvores AVL: Definição Árvore criada por Adelson-Velskii e Landis, daí o nome Árvore AVL; É uma árvore de pesquisa binária balanceada cujo módulo da diferença entre as alturas das sub-árvores esquerda e direita de cada nó nunca é maior do que 1.

5 18/1/2014EDA - Prof. Paulemir Campos5 Em outras palavras, o valor do balanceamento de cada nó de uma árvore AVL é igual a 1, 0 ou –1. Caso contrário, a árvore binária não é AVL, pois estará desbalanceada. Árvores AVL: Definição

6 18/1/2014EDA - Prof. Paulemir Campos Árvores AVL: Exemplo

7 18/1/2014EDA - Prof. Paulemir Campos7 Exemplo de Árvore não-AVL Árvores AVL: Contra-exemplo

8 18/1/2014EDA - Prof. Paulemir Campos8 Balanceamento de Árvore Binária por Rotação Esquerda: ponteiro tArvore GiraEsquerda (ponteiro tArvore raiz) { ponteiro tArvore novaRaiz novaRaiz = raiz->direito raiz->direito = novaRaiz->esquerdo novaRaiz->esquerdo = raiz retorna novaRaiz } Árvores AVL: Balanceamento

9 18/1/2014EDA - Prof. Paulemir Campos9 A Árvores AVL: Balanceamento Exemplo de balanceamento por rotação esquerda. B FG C DE C E G F A BD

10 18/1/2014EDA - Prof. Paulemir Campos10 Árvores AVL: Balanceamento Balanceamento de Árvore Binária por Rotação Direita: ponteiro tArvore GiraDireita (ponteiro tArvore raiz) { ponteiro tArvore novaRaiz novaRaiz = raiz->esquerdo raiz->esquerdo = novaRaiz->direito novaRaiz->direito = raiz retorna novaRaiz }

11 18/1/2014EDA - Prof. Paulemir Campos11 Árvores AVL: Balanceamento Exemplo de balanceamento por rotação direita. FG B DE B A C D F E G 0 A C 2 0

12 18/1/2014EDA - Prof. Paulemir Campos12 Árvores AVL: Balanceamento Características: Quando se efetua uma rotação esquerda ou direita numa árvore de pesquisa binária, a ordem dos elementos percorrendo-a em ordem central não se altera. Isto é, a árvore de pesquisa binária continua ordenada.

13 18/1/2014EDA - Prof. Paulemir Campos13 Árvores AVL: Balanceamento Características: Árvore desbalanceada com valor negativo pode ser balanceada com rotação esquerda; Árvore desbalanceada com valor positivo pode ser balanceada com rotação direita.

14 18/1/2014EDA - Prof. Paulemir Campos14 Árvores AVL: Balanceamento Descrição das rotações nos seguintes casos: Diferença de altura do nó desbalanceado (h SE -h SD ) Diferença de altura do nó filho do nó desbalanceado (h SE -h SD ) Tipo de Rotação Simples à esquerda -20Simples à esquerda 1Dupla com filho à direita e pai à esquerda Dupla com filho à esquerda e pai à direita 20Simples à direita 1

15 18/1/2014EDA - Prof. Paulemir Campos15 Dada a árvore de pesquisa binária ao lado, pede-se para balanceá-la aplicando operações de rotação à esquerda e/ou à direita conforme necessário Árvores AVL: Balanceamento Exemplo de Rotação Dupla 12

16 18/1/2014EDA - Prof. Paulemir Campos16 Primeiro aplica-se uma rotação à esquerda no nó 15 da árvore desbalanceada inicial Árvores AVL: Balanceamento Exemplo de Rotação Dupla

17 18/1/2014EDA - Prof. Paulemir Campos17 Depois, basta aplicar uma rotação à direita no nó 20 da árvore obtida no passo anterior Árvores AVL: Balanceamento Exemplo de Rotação Dupla

18 Referências 18/1/2014EDA - Prof. Paulemir Campos18

19 18/1/2014EDA - Prof. Paulemir Campos19 ASCENCIO, A. F. G; ARAÚJO, G. S. Estruturas de Dados: algoritmos, análise da complexidade e implementações em JAVA e C/C++. São Paulo: Pearson Prentice Hall, Referências

20 18/1/2014EDA - Prof. Paulemir Campos20 SZWARCFITER, J. L.; MARKENZON, L. Estruturas de Dados e seus Algoritmos. 2. ed. Rio de Janeiro: LTC, Referências


Carregar ppt "18/1/2014EDA - Prof. Paulemir Campos1 Pesquisas de Dados (Parte 2) UPE – Caruaru – Sistemas de Informação Disciplina: Estrutura de Dados e Arquivo Prof.:"

Apresentações semelhantes


Anúncios Google