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

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

BANCO DE DADOS II Árvore de Dados. FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique.

Apresentações semelhantes


Apresentação em tema: "BANCO DE DADOS II Árvore de Dados. FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique."— Transcrição da apresentação:

1 BANCO DE DADOS II Árvore de Dados

2 FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique Marcos Roberto Paula Giorgino Rodrigo Ferreira

3 DEFINIÇÃO Uma árvore é um conjunto finito de elementos denominados nós ou vértices. Um único nó é uma árvore. Este nó é a raiz da árvore.

4 -Diversas aplicações necessitam de estruturas mais complexas que as listas, pilhas ou filas. -Diversos problemas podem ser modelados através de arvores MOTIVAÇÃO

5 POR QUE USAR ÁRVORES? Um dos motivos é a rapidez no acesso aos dados, considere esse exemplo, onde é feita a busca pelo valor 0 (zero) usando uma estrutura de árvore e uma tabela. Com a árvore foi necessário apenas um passo, já usando a tabela, o valor foi encontrado na 5º posição. 1 2 6 3 0

6 -Organiza um conjunto de dados de acordo com uma estrutura hierárquica; -Contém elementos que são chamados de nós; -O “pai de todos” é a raiz, e o 1º da hierárquia; -O conteúdo de um nó pode ser de qualquer tipo que se deseje representar; CONCEITOS BÁSICOS

7 -Nó que não tem antecedente: Raiz -Nó que não tem descendentes: Folhas -A altura da árvore é a altura de sua raiz -A profundidade de um nó é o comprimento da raiz até o nó. OUTROS CONCEITOS

8 Existem 3 formas de representação: - Parênteses alinhados ( A (B) (C (D (G) (H)) (E) (F(I)) ) ) - Diagrama de inclusão REPRESENTAÇÃO

9 - Representação hierárquica

10 - Subárvore Cada nó da árvore é a raiz de uma subárvore - Grau O número máximo de subárvores em cada nó da árvore - Folha Um nó de grau igual a zero é denominado folha ou nó terminal TERMINOLOGIA

11 - Nível É o comprimento do caminho que vai da raiz até este nó. - Floresta Conjunto de zero ou mais árvores disjuntas (que não tenham nenhum elemento em comum).

12 TIPOS DE ÁRVORE

13 É aquela na qual os filhos de cada nó não estão ordenados. Assume-se a ordenação da esquerda para a direita. ÁRVORE ORDENADA

14 ÁRVORE BINÁRIA Uma árvore binária T é um conjunto finito de elementos chamados nós ou vértices, tal que T=0 é o conjunto vazio, e a árvore é dita vazia, ou existe um nó especial, r, chamado raiz de T; e os nós restantes são divididos em dois subconjuntos disjuntos, as subárvores esquerda e direita de r, respectivamente, as quais também são árvores binárias. A raiz da subárvore esquerda (direita) de um nó v, se existir, é denominada filho esquerdo (direito) de v.

15 ● Árvore onde todo nó pode ter no máximo 2 filhos ● Os filhos são chamados de filho à esquerda e filho Direita ● Estrutura útil quando uma de duas decisões devem ser tomadas no decorrer do processo.

16 Exemplo: Encontrar números duplicados em uma lista dada Armazenam-se os números na árvore de forma a: 1º número é armazenado na raiz de uma árvore binária cada um dos próximos números na lista é comparado com a raiz: caso seja igual é uma duplicata caso seja menor, é armazenado na subárvore da direita Seguindo-se recursivamente o mesmo procedimento caso seja maior, é armazenado na subárvore da esquerda seguindo-se recursivamente o mesmo procedimento

17 Exemplo: Armazenar a seguinte lista em uma árvore binária: 14, 18, 4, 9, 7, 15, 3, 4, 20, 9, 5

18 A busca nada mais é do que um percurso em uma árvore O percurso em uma árvore visitando cada nó uma única vez gera uma seqüência linear de nós Assim, passa a ter sentido falar em sucessor e predecessor de um nó segundo um determinado percurso Há três maneiras recursivas de se percorrer árvores binárias: Percurso em pré-ordem Percurso em pós-ordem Percurso em ordem Percursos em Árvores Binárias

19 Percurso em Pré-Ordem (red) Algoritmo básico: – Se árvore vazia  fim – visitar o nó raiz – percorrer em pré-ordem a sub-árvore esquerda – percorrer em pré-ordem a sub-árvore direita ABDCEGFHI

20 Percurso em Em Ordem (erd) Algoritmo básico: – Se árvore vazia  fim – percorrer em ordem a sub-árvore esquerda – visitar o nó raiz – percorrer em ordem a sub-árvore direita DBAEGCHFI

21 Percurso em Pós-Ordem (edr) Algoritmo básico: – Se árvore vazia  fim – percorrer em ordem a sub-árvore esquerda – percorrer em ordem a sub-árvore direita – visitar o nó raiz DBGEHIFCA

22 ÁRVORE CHEIA Árvore Binária Cheia: Uma árvore binária cheia é aquela em que, se v é um nó com alguma das suas sub-árvores vazias, então v se localiza no último nível. É uma árvore que tem todos os nós internos com 2 filhos e onde todas as folhas estão na mesma profundidade. Observação: - Toda árvore binária cheia é completa e estritamente binária. - Cheia - Completa - Estritamente Binária

23 ÁRVORE AVL Em 1962 os matemáticos A delson V elsky e L andis sugeriram uma definição para “near balance” e descreveram procedimentos para inserção e eliminação de nós nessas árvores: os algorítimos de balanceamento são chamados algorítimos AVL e as árvores de árvores AVL (devido ao nome de seus criadores). Uma árvore AVL é uma árvore binária de busca (ABB) construída de tal modo que a altura de sua subárvore direita difere da altura da subárvore esquerda de no máximo 1.

24 Diferentemente das árvores binárias de pesquisa, nas árvores AVL cada nó está equilibrado em altura, significando que a diferença de alturas entre as subárvores esquerda e direita podem ser -1, 0 ou 1.

25 Uma árvore não AVL Mesma árvore após balanceamento por altura, agora uma árvore AVL As operações de inserção, remoção e pesquisa nas árvores AVL são feitas através de rotação de forma a garantir o balanceamento e que o fator de balanceamento seja igual a 1.

26 Balanceamento : O fator de balanceamento é dado em relação a sua subárvore Inserção : deve acontecer após verificação do fator de balanceamento Remoção : deve acontecer por uma rotação em torno do nó a ser removido, a fim de torna-lo folha para que possa ser removido. Rotação : ocorre devido ao desbalanceamento e pode ser: → rotação- simples : ocorre quando um nó esta desbalanceado e seu filho esta no mesmo sentido de inclinação; → rotação – dupla (duas rotações simples seguidas): ocorre quando um nó estiver desbalanceado e seu filho estiver inclinado no sentido inverso do pai.

27 ÁRVORE RUBRO - NEGRA

28 São árvores Binarias de Busca com bit adicional para representar a cor ( PRETA ou VERMELHA ). São conhecidas tambem como Árvores Binárias Sismétricas. Possui Cinco Propriedades Básicas: Todo nó é colorido PRETO ou VERMELHO ; A raiz é PRETA ; As folhas (NIL) são PRETAS. Se um nó é VERMELHO, seus filhos são PRETOS. Para cada nó, todos os caminhos até as folhas descendentes contém o mesmo número de nós. Lema: Uma Árvore Rubro-Negra com n nós internos tem altura no máximo 2lg(n+1). Possui todas as operacões que uma árvore binária balanceada comum possui.

29 Inserir: três casos a considerar: O tio é VERMELHO : inverte cores do avô, pai e tio; O tio é PRETO e filho da direita: faz rotação para a esquerda; O tio é PRETO e filho da esquerda: inverte cores do avô e do pai e faz rotação para a direita.

30 Remover: quatro casos a considerar: w é VERMELHO : inverte cores do pai e de w; w é PRETO e ambos os filhos de w são pretos: “remove” um PRETO de x, faz w VERMELHO e “adiciona” PRETO ao pai. Faz pai novo x; w é PRETO, o filho da esquerda é VERMELHO e o da direita PRETO : inverte cores de w e do seu filho da esquerda e faz uma rotação para a direita; w é PRETO e o filho da direita é VERMELHO : atribui a cor do pai a w, faz pai PRETO, faz filho da direta de w PRETO e faz uma rotação para a esquerda. Complexidade das operações: O(lgn).

31 ÁRVORE B (Bayer&MCCreight 1972) É muito utilizada em banco de dados ou sistemas de arquivos, foi criada por Rudolf Bayer. O B vem de balanceamento onde todas as folhas da árvores estão em um mesmo nível.

32 CARACTERISTICAS Concebidas para implantação de mecanismos de indexação por chave primária em memória secundária. Implementações comuns utilizam arquivo de índices com ponteiros para arquivo de registro de dados Uso em Banco de Dados e em Sistemas de Arquivos

33 ESTRUTURA Nivel definido pela quantidade de filhos em cada nó Cada nó (exceto a raiz e as folhas) tem pelo menos “m/2” filhos em ordem crescente A raiz tem pelo menos dois filhos se a mesma não for uma folha Todas as folhas aparecem no mesmo nivel e não carregam informação Um nó não – folha com “K” filhos deve ter K-1 chaves

34 Exemplo:

35 VANTAGENS (+) nº  de nós do que uma árvore binária   tempo de acesso e pesquisa aos nós. (+)  altura   acesso ao disco. (+) poucos ponteiros entre os nós  economia de espaço. (+) Maior rapidez em buscas pela utilização de chaves primárias. (+) Permite um tempo de acesso de dados menor, em uma busca aleatória, por causa de suas ramificações.

36 DESVANTAGENS (-) Nó não folha com n chaves, é visitado n vezes, portanto o processo de busca às vezes pode se tornar lento. (-) Não oferece solução econômica para indexação por chave secundária ou com alta redundância de valor de chave. (-) Não oferece solução barata para problema de percurso por seqüencia de chave.

37 ÁRVORE B + Proporcionam acesso indexado, como também seqüencial Maximização da quantidade de registros que cada nó pode suportar Não armazena os dados de cada registro dentro de seus nós São ótimas para implementar índices para conjunto de registros O ponteiro para o registro de dados de uma chave, somente se encontra no nó folha em que a chave se encontra

38 Estrutura árvore B+

39 VÍDEO Árvores AVL, B, B+ e RB

40 REFERÊNCIAS http://www.tiagodemelo.info/aulas/uea/2007/concurso/aula-uea- final.pdf http://www.lcad.icmc.usp.br/~nonato/ED/Arvore_Binaria/node58.html http://www.icmc.usp.br/~sce182/arvbinrb.html http://www.dei.isep.ipp.pt/~hleitao/EI/ARVORESAVL.pdf http://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/%C3 %81rvores_AVL


Carregar ppt "BANCO DE DADOS II Árvore de Dados. FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique."

Apresentações semelhantes


Anúncios Google